@@ -29,14 +29,16 @@ jobs:
2929 runs-on : ubuntu-latest
3030 strategy :
3131 matrix :
32- python-version :
33- - " 3.8"
34- - " 3.9"
35- - " 3.10"
36- - " 3.11"
37- - " 3.12"
38- - " 3.13"
39- - " 3.14"
32+ python-version : ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
33+ pydantic-version : ["v2"]
34+ include :
35+ # Add Pydantic v1 tests for select Python versions
36+ - python-version : " 3.8"
37+ pydantic-version : " v1"
38+ - python-version : " 3.10"
39+ pydantic-version : " v1"
40+ - python-version : " 3.12"
41+ pydantic-version : " v1"
4042 fail-fast : false
4143 steps :
4244 - name : Dump GitHub context
@@ -63,19 +65,23 @@ jobs:
6365 with :
6466 limit-access-to-actor : true
6567 - name : Install Dependencies
66- run : uv pip install -r requirements-tests.txt
68+ run : |
69+ uv pip install -r requirements-tests.txt
70+ if [ "${{ matrix.pydantic-version }}" = "v1" ]; then
71+ uv pip install "pydantic<2.0.0"
72+ fi
6773 - name : Lint
6874 run : bash scripts/lint.sh
6975 - run : mkdir coverage
7076 - name : Test
7177 run : bash scripts/test.sh
7278 env :
73- COVERAGE_FILE : coverage/.coverage.${{ runner.os }}-py${{ matrix.python-version }}
74- CONTEXT : ${{ runner.os }}-py${{ matrix.python-version }}
79+ COVERAGE_FILE : coverage/.coverage.${{ runner.os }}-py${{ matrix.python-version }}-pydantic-${{ matrix.pydantic-version }}
80+ CONTEXT : ${{ runner.os }}-py${{ matrix.python-version }}-pydantic-${{ matrix.pydantic-version }}
7581 - name : Store coverage files
7682 uses : actions/upload-artifact@v5
7783 with :
78- name : coverage-${{ matrix.python-version }}
84+ name : coverage-${{ matrix.python-version }}-pydantic-${{ matrix.pydantic-version }}
7985 path : coverage
8086 include-hidden-files : true
8187
0 commit comments