Skip to content

Commit

Permalink
fix: add structlog & restructure tests
Browse files Browse the repository at this point in the history
  • Loading branch information
sariola committed Oct 21, 2024
1 parent c33e11d commit 6951f3e
Show file tree
Hide file tree
Showing 15 changed files with 154 additions and 2 deletions.
74 changes: 74 additions & 0 deletions .github/workflows/e2e-cloud-gpu.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: E2E Test (cloud engines, GPU enabled)

on:
workflow_dispatch:

jobs:

lint:
runs-on: self-hosted
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install ruff==0.1.3 black==23.9.1 isort==5.12.0 pyupgrade==3.10.1
- name: Lint with ruff
run: |
ruff check . --config pyproject.toml
- name: Format with black
run: |
black --check . --config pyproject.toml
- name: Sort imports with isort
run: |
isort --check-only . --settings-path pyproject.toml
- name: Check for Python upgrades
run: |
files=$(git ls-files '*.py')
if pyupgrade --py310-plus $files | grep -q '^---'; then
echo "pyupgrade would make changes. Please run pyupgrade locally and commit the changes."
exit 1
fi
test:
needs: lint
runs-on: self-hosted
strategy:
matrix:
python-version: ['3.10', '3.11', '3.12']

steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install .[dev,vllm,hf,llamafile,integrations-test,baseten]
- name: Verify GPU availability
run: |
nvidia-smi
python -c "import torch; print(torch.cuda.is_available())"
- name: Test with pytest and generate coverage
run: |
export HF_HOME=/tmp/hf_home
export TRANSFORMERS_CACHE=/tmp/hf_home
export OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }}
export BASETEN_API_KEY=${{ secrets.BASETEN_API_KEY }}
pytest ./tests/e2e-cloud-gpu --cov=./ --junitxml=junit.xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: true
- name: Upload test results to Codecov
if: ${{ !cancelled() }}
uses: codecov/test-results-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}
76 changes: 76 additions & 0 deletions .github/workflows/e2e-local.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
name: E2E Test (local engines, GPU enabled)

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

jobs:

lint:
runs-on: self-hosted
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install ruff==0.1.3 black==23.9.1 isort==5.12.0 pyupgrade==3.10.1
- name: Lint with ruff
run: |
ruff check . --config pyproject.toml
- name: Format with black
run: |
black --check . --config pyproject.toml
- name: Sort imports with isort
run: |
isort --check-only . --settings-path pyproject.toml
- name: Check for Python upgrades
run: |
files=$(git ls-files '*.py')
if pyupgrade --py310-plus $files | grep -q '^---'; then
echo "pyupgrade would make changes. Please run pyupgrade locally and commit the changes."
exit 1
fi
test:
needs: lint
runs-on: self-hosted
strategy:
matrix:
python-version: ['3.10', '3.11', '3.12']

steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install .[dev,vllm,hf,llamafile,integrations-test,baseten]
- name: Verify GPU availability
run: |
nvidia-smi
python -c "import torch; print(torch.cuda.is_available())"
- name: Test with pytest and generate coverage
run: |
export HF_HOME=/tmp/hf_home
export TRANSFORMERS_CACHE=/tmp/hf_home
export OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }}
pytest ./tests/e2e-local --cov=./ --junitxml=junit.xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: true
- name: Upload test results to Codecov
if: ${{ !cancelled() }}
uses: codecov/test-results-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}
2 changes: 1 addition & 1 deletion .github/workflows/test-and-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ jobs:
export HF_HOME=/tmp/hf_home
export TRANSFORMERS_CACHE=/tmp/hf_home
export OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }}
pytest --cov=./ --junitxml=junit.xml
pytest ./tests/unit --cov=./ --junitxml=junit.xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
Expand Down
4 changes: 3 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ authors = [
{name = "Bernardo Garcia", email = "bernardo@flow-ai.com"},
{name = "Karolus Sariola", email = "karolus@flow-ai.com"},
{name = "Minaam Shahid", email = "minaam@flow-ai.com"},
{name = "Tiina Vaahtio", email = "tiina@flow-ai.com"}
{name = "Tiina Vaahtio", email = "tiina@flow-ai.com"},
{name = "Alex Wegrzyn", email = "alex.wegrzyn@flow-ai.com"},
]
license = {file = "LICENSE"}
classifiers = [
Expand All @@ -28,6 +29,7 @@ dependencies = [
"ipykernel>=6.29.0",
"ipywidgets>=8.1.0",
"tqdm>=4.66.1",
"structlog",
]

[project.optional-dependencies]
Expand Down
Empty file.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 comments on commit 6951f3e

Please sign in to comment.