@@ -29,13 +29,16 @@ jobs:
2929 - name : Fetch all tags
3030 run : git fetch --depth=1 --tags
3131
32- - name : Set up Python
32+ - name : Setup Python
3333 uses : actions/setup-python@v5
3434 with :
35- python-version : " 3.11 "
35+ python-version : " 3.12 "
3636
37- - name : Install uv
38- run : pip install uv
37+ - name : Setup uv
38+ uses : astral-sh/setup-uv@v3
39+ with :
40+ enable-cache : true
41+ cache-dependency-glob : pyproject.toml
3942
4043 - name : Install dependencies
4144 run : make setup
4952 - name : Check if the code is correctly typed
5053 run : make check-types
5154
52- - name : Check for vulnerabilities in dependencies
53- run : make check-dependencies
54-
5555 - name : Check for breaking changes in the API
5656 run : make check-api
5757
@@ -66,13 +66,17 @@ jobs:
6666 echo 'jobs=[
6767 {"os": "macos-latest"},
6868 {"os": "windows-latest"},
69- {"python-version": "3.9"},
7069 {"python-version": "3.10"},
7170 {"python-version": "3.11"},
72- {"python-version": "3.12"}
71+ {"python-version": "3.12"},
72+ {"python-version": "3.13"},
73+ {"python-version": "3.14"}
7374 ]' | tr -d '[:space:]' >> $GITHUB_OUTPUT
7475 else
75- echo 'jobs=[]' >> $GITHUB_OUTPUT
76+ echo 'jobs=[
77+ {"os": "macos-latest", "resolution": "lowest-direct"},
78+ {"os": "windows-latest", "resolution": "lowest-direct"}
79+ ]' | tr -d '[:space:]' >> $GITHUB_OUTPUT
7680 fi
7781
7882 tests :
@@ -85,29 +89,39 @@ jobs:
8589 - macos-latest
8690 - windows-latest
8791 python-version :
88- - " 3.8"
8992 - " 3.9"
9093 - " 3.10"
9194 - " 3.11"
9295 - " 3.12"
96+ - " 3.13"
97+ - " 3.14"
98+ resolution :
99+ - highest
100+ - lowest-direct
93101 exclude : ${{ fromJSON(needs.exclude-test-jobs.outputs.jobs) }}
94102 runs-on : ${{ matrix.os }}
95- continue-on-error : ${{ matrix.python-version == '3.12 ' }}
103+ continue-on-error : ${{ matrix.python-version == '3.14 ' }}
96104
97105 steps :
98106 - name : Checkout
99107 uses : actions/checkout@v4
100108
101- - name : Set up Python
109+ - name : Setup Python
102110 uses : actions/setup-python@v5
103111 with :
104112 python-version : ${{ matrix.python-version }}
105113 allow-prereleases : true
106114
107- - name : Install uv
108- run : pip install uv
115+ - name : Setup uv
116+ uses : astral-sh/setup-uv@v3
117+ with :
118+ enable-cache : true
119+ cache-dependency-glob : pyproject.toml
120+ cache-suffix : py${{ matrix.python-version }}
109121
110122 - name : Install dependencies
123+ env :
124+ UV_RESOLUTION : ${{ matrix.resolution }}
111125 run : make setup
112126
113127 - name : Run the test suite
0 commit comments