test:
strategy:
matrix:
- os: [ ubuntu-latest ]
- python-version:
- - "3.8"
- - "3.9"
- - "3.10"
- - "3.11"
- - "3.12"
- - "3.13"
+ os: [ ubuntu-latest, windows-latest, macos-latest ]
+ python-version: [ "3.13" ]
pydantic-version:
- pydantic-v1
- pydantic-v2
+ include:
+ - os: macos-latest
+ python-version: "3.8"
+ pydantic-version: pydantic-v1
+ - os: windows-latest
+ python-version: "3.9"
+ pydantic-version: pydantic-v2
+ - os: ubuntu-latest
+ python-version: "3.10"
+ pydantic-version: pydantic-v1
+ - os: macos-latest
+ python-version: "3.11"
+ pydantic-version: pydantic-v2
+ - os: windows-latest
+ python-version: "3.12"
+ pydantic-version: pydantic-v1
+ - os: ubuntu-latest
+ python-version: "3.12"
+ pydantic-version: pydantic-v2
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
- name: Store coverage files
uses: actions/upload-artifact@v4
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
env = os.environ.copy()
env["CHECK_JINJA"] = "1"
result = subprocess.run(
- [sys.executable, "scripts/generate_select.py"],
+ [sys.executable, Path("scripts") / "generate_select.py"],
env=env,
check=True,
cwd=root_path,