Better pydantic support #2465
Workflow file for this run
This file contains hidden or 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 | |
| on: | |
| push: | |
| branches: | |
| - master | |
| pull_request: | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ['3.11', '3.12', '3.13', '3.14'] | |
| include: | |
| - python-version: '3.14t' | |
| force_free_gil: true | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| persist-credentials: false | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install uv | |
| uses: astral-sh/[email protected] | |
| - name: Install dependencies | |
| run: | | |
| # System deps: | |
| sudo apt install -y gettext | |
| # Python deps: | |
| uv sync --all-extras --all-groups | |
| - name: Run checks | |
| env: | |
| PYTHON_GIL: ${{ matrix.force_free_gil && '0' || '1' }} | |
| run: make test | |
| # Upload coverage to codecov: https://codecov.io/ | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@v6 | |
| with: | |
| files: ./coverage.xml | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| - name: Tracecov report | |
| run: cat tracecov-report.md >> "$GITHUB_STEP_SUMMARY" | |
| test-django-versions: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ['3.12'] | |
| django-version: | |
| - 'Django~=4.2.0' | |
| - 'Django~=5.1.0' | |
| - 'Django~=6.0.0' | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| persist-credentials: false | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install uv | |
| uses: astral-sh/[email protected] | |
| - name: Install dependencies | |
| run: | | |
| uv sync --all-extras --group integration | |
| uv pip install "${{ matrix.django-version }}" | |
| - name: Run checks | |
| run: make smoke unit | |
| build-no-msgspec: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ['3.14'] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| persist-credentials: false | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install uv | |
| uses: astral-sh/[email protected] | |
| - name: Install dependencies | |
| run: uv sync --extra pydantic --extra jwt --group integration | |
| - name: Run checks | |
| run: | | |
| make smoke example | |
| uv run pytest --cov-fail-under=90 | |
| build-no-pydantic: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ['3.11'] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| persist-credentials: false | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install uv | |
| uses: astral-sh/[email protected] | |
| - name: Install dependencies | |
| run: uv sync --extra msgspec --extra attrs --extra jwt --group integration | |
| - name: Run checks | |
| run: | | |
| make smoke | |
| uv run pytest tests/test_unit/test_plugins/test_msgspec --cov-fail-under=50 | |
| build-no-serializers: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ['3.11'] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| persist-credentials: false | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install uv | |
| uses: astral-sh/[email protected] | |
| - name: Install dependencies | |
| run: uv sync --extra jwt | |
| - name: Run checks | |
| run: make smoke |