Feat/baseten integration #89
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test and Lint | |
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 --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 }} |