Skip to content

Use classic PyPI deployment strategy #1

Use classic PyPI deployment strategy

Use classic PyPI deployment strategy #1

Workflow file for this run

name: Test - Python
on:
workflow_dispatch:
push:
branches: ["main", "rc-*"]
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
release:
types: [published]
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
config:
- { python-version: "3.9", test_google: false, test_azure: false }
- { python-version: "3.10", test_google: false, test_azure: false }
- { python-version: "3.11", test_google: false, test_azure: false }
- { python-version: "3.12", test_google: true, test_azure: true }
- { python-version: "3.13", test_google: false, test_azure: false }
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
AZURE_OPENAI_API_KEY: ${{ secrets.AZURE_OPENAI_API_KEY }}
# Free tier of Google is rate limited, so we only test on 3.12
TEST_GOOGLE: ${{ matrix.config.test_google }}
# Free tier of Azure is rate limited, so we only test on 3.12
TEST_AZURE: ${{ matrix.config.test_azure }}
steps:
- uses: actions/checkout@v4
- name: πŸš€ Install uv
uses: astral-sh/setup-uv@v3
- name: 🐍 Set up Python ${{ matrix.config.python-version }}
run: uv python install ${{matrix.config.python-version }}
- name: πŸ“¦ Install the project
run: uv sync --python ${{ matrix.config.python-version }} --all-extras
- name: πŸ§ͺ Check tests
run: make check-tests
- name: πŸ“ Check types
run: make check-types
- name: πŸ“ Check formatting
run: make check-format