|
|
|
@ -44,22 +44,44 @@ jobs: |
|
|
|
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: |
|
|
|
@ -96,10 +118,12 @@ jobs: |
|
|
|
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 |
|
|
|
|
|
|
|
|