run: bash scripts/lint.sh
test:
- runs-on: ubuntu-latest
strategy:
matrix:
- python-version:
- - "3.14"
- - "3.13"
- - "3.12"
- - "3.11"
- - "3.10"
- - "3.9"
- - "3.8"
- pydantic-version: ["pydantic-v1", "pydantic-v2"]
- exclude:
- - python-version: "3.14"
+ os: [ ubuntu-latest, windows-latest, macos-latest ]
+ python-version: [ "3.14" ]
+ pydantic-version: [ "pydantic-v2" ]
+ coverage: ["coverage"]
+ include:
+ - os: macos-latest
+ python-version: "3.8"
+ pydantic-version: "pydantic-v1"
+ coverage: coverage
+ - os: windows-latest
+ python-version: "3.8"
+ pydantic-version: "pydantic-v2"
+ coverage: coverage
+ - os: ubuntu-latest
+ python-version: "3.9"
+ pydantic-version: "pydantic-v1"
+ coverage: coverage
+ - os: macos-latest
+ python-version: "3.10"
+ pydantic-version: "pydantic-v2"
+ - os: windows-latest
+ python-version: "3.11"
+ pydantic-version: "pydantic-v1"
+ - os: ubuntu-latest
+ python-version: "3.12"
+ pydantic-version: "pydantic-v2"
+ - os: macos-latest
+ python-version: "3.13"
pydantic-version: "pydantic-v1"
+ coverage: coverage
+ - os: windows-latest
+ python-version: "3.13"
+ pydantic-version: "pydantic-v2"
+ coverage: coverage
fail-fast: false
+ runs-on: ${{ matrix.os }}
steps:
- name: Dump GitHub context
env:
env:
COVERAGE_FILE: coverage/.coverage.${{ runner.os }}-py${{ matrix.python-version }}
CONTEXT: ${{ runner.os }}-py${{ matrix.python-version }}
+ # Do not store coverage for all possible combinations to avoid file size max errors in Smokeshow
- name: Store coverage files
+ if: matrix.coverage == 'coverage'
uses: actions/upload-artifact@v5
with:
- name: coverage-${{ matrix.python-version }}-${{ matrix.pydantic-version }}
+ name: coverage-${{ runner.os }}-${{ matrix.python-version }}-${{ matrix.pydantic-version }}
path: coverage
include-hidden-files: true