@@ -24,26 +24,31 @@ jobs:
2424 os :
2525 - ' ubuntu-latest'
2626 python :
27- - 3.15-dev
28- - 3.14
29- - 3.13
27+ - ' 3.15'
28+ - ' 3.14'
29+ - ' 3.13'
30+ - pypy-3.12
3031 - pypy-3.11
3132 - graalpy-25.0
3233 steps :
33- - uses : actions/checkout@v6
34- - uses : actions/setup-python@v6
34+ - uses : actions/checkout@v7
35+ - uses : actions/setup-python@v7
3536 with :
3637 python-version : ${{ matrix.python }}
38+ # Lets '3.15' resolve to the newest release candidate until
39+ # 3.15.0 final lands in setup-python, then to the final.
40+ allow-prereleases : true
3741 - run : python -m simplejson.tests._cibw_runner .
3842
3943 test_prerelease :
40- name : Tests with C speedups on Python 3.15-dev
44+ name : Tests with C speedups on Python 3.15
4145 runs-on : ubuntu-latest
4246 steps :
43- - uses : actions/checkout@v6
44- - uses : actions/setup-python@v6
47+ - uses : actions/checkout@v7
48+ - uses : actions/setup-python@v7
4549 with :
46- python-version : ' 3.15-dev'
50+ python-version : ' 3.15'
51+ allow-prereleases : true
4752 - name : Build extension
4853 run : |
4954 python -m pip install --upgrade pip setuptools wheel
@@ -61,21 +66,28 @@ jobs:
6166 run : python -m simplejson.tests._cibw_runner .
6267
6368 test_free_threading :
64- name : Tests with free-threading on Python 3.14t
69+ name : Tests with free-threading on Python ${{ matrix.python }}
6570 runs-on : ubuntu-latest
71+ strategy :
72+ fail-fast : false
73+ matrix :
74+ python :
75+ - ' 3.14t'
76+ - ' 3.15t'
6677 steps :
67- - uses : actions/checkout@v6
68- - uses : actions/setup-python@v6
78+ - uses : actions/checkout@v7
79+ - uses : actions/setup-python@v7
6980 with :
70- python-version : ' 3.14t'
81+ python-version : ${{ matrix.python }}
82+ allow-prereleases : true
7183 - name : Verify Python is a free-threaded build
7284 run : |
7385 python -c "
7486 import sys, sysconfig
7587 gil_disabled = sysconfig.get_config_var('Py_GIL_DISABLED')
7688 assert gil_disabled == 1, (
7789 'Python is not a free-threaded build '
78- '(Py_GIL_DISABLED={!r}); setup-python did not install 3.14t .'
90+ '(Py_GIL_DISABLED={!r}); setup-python did not install ${{ matrix.python }} .'
7991 .format(gil_disabled))
8092 print('OK: Py_GIL_DISABLED=1, sys.version=' + sys.version)
8193 "
@@ -108,13 +120,13 @@ jobs:
108120 - " free-threaded"
109121 include :
110122 - variant : " standard"
111- uv_python : " cpython-3.14.4 +debug"
123+ uv_python : " cpython-3.14.8 +debug"
112124 - variant : " free-threaded"
113- uv_python : " cpython-3.14.4 +freethreaded+debug"
125+ uv_python : " cpython-3.14.8 +freethreaded+debug"
114126 steps :
115- - uses : actions/checkout@v6
127+ - uses : actions/checkout@v7
116128 - name : Install uv
117- uses : astral-sh/setup-uv@v8.0 .0
129+ uses : astral-sh/setup-uv@v10.2 .0
118130 - name : Install Python via python-build-standalone (${{ matrix.uv_python }})
119131 run : |
120132 uv python install ${{ matrix.uv_python }}
@@ -157,16 +169,16 @@ jobs:
157169 run : PYTHON_GIL=0 .venv/bin/python -m simplejson.tests._cibw_runner .
158170
159171 test_tsan :
160- name : TSan stress (CPython v3.14.0 free-threaded)
172+ name : TSan stress (CPython v3.14.8 free-threaded)
161173 runs-on : ubuntu-latest
162174 env :
163175 # Keep in sync with the name above. Pinned so the cache key is stable;
164176 # bump when moving to a newer CPython (cache is keyed on this + clang
165177 # version + script hash).
166- CPYTHON_REF : v3.14.0
178+ CPYTHON_REF : v3.14.8
167179 TSAN_ROOT : /home/runner/.cache/py-tsan-ft
168180 steps :
169- - uses : actions/checkout@v6
181+ - uses : actions/checkout@v7
170182 - name : Install build deps
171183 run : |
172184 sudo apt-get update
@@ -181,7 +193,7 @@ jobs:
181193 echo "version=${version}" >> "$GITHUB_OUTPUT"
182194 - name : Restore TSan CPython build
183195 id : cache
184- uses : actions/cache/restore@v5
196+ uses : actions/cache/restore@v6
185197 with :
186198 path : ${{ env.TSAN_ROOT }}
187199 key : tsan-cpython-${{ env.CPYTHON_REF }}-${{ runner.os }}-clang${{ steps.clang.outputs.version }}-${{ hashFiles('scripts/run_tsan_stress.sh') }}
@@ -195,7 +207,7 @@ jobs:
195207 # Skip save on cache hit (nothing new) or if the build itself failed
196208 # (would cache a broken install).
197209 if : always() && steps.cache.outputs.cache-hit != 'true' && steps.build.outcome == 'success'
198- uses : actions/cache/save@v5
210+ uses : actions/cache/save@v6
199211 with :
200212 path : ${{ env.TSAN_ROOT }}
201213 key : ${{ steps.cache.outputs.cache-primary-key }}
@@ -223,7 +235,7 @@ jobs:
223235 arch : x86
224236 msvc_arch : x86
225237 steps :
226- - uses : actions/checkout@v6
238+ - uses : actions/checkout@v7
227239
228240 - name : Activate MSVC toolchain (Windows only)
229241 if : runner.os == 'Windows'
@@ -283,7 +295,7 @@ jobs:
283295 arch : " x86_64 universal2 arm64"
284296
285297 steps :
286- - uses : actions/checkout@v6
298+ - uses : actions/checkout@v7
287299
288300 - name : Set up QEMU
289301 if : runner.os == 'Linux'
@@ -292,7 +304,7 @@ jobs:
292304 platforms : all
293305
294306 - name : Build wheels
295- uses : pypa/cibuildwheel@v4.2.0
307+ uses : pypa/cibuildwheel@v4.2.1
296308 env :
297309 CIBW_TEST_COMMAND : >-
298310 python -m simplejson.tests._cibw_runner "{project}"
@@ -311,17 +323,17 @@ jobs:
311323 name : Build Pyodide wheel (wasm32)
312324 runs-on : ubuntu-latest
313325 steps :
314- - uses : actions/checkout@v6
326+ - uses : actions/checkout@v7
315327
316- - uses : actions/setup-python@v6
328+ - uses : actions/setup-python@v7
317329 name : Install Python
318330 with :
319331 # Host Python for cibuildwheel; Pyodide targets are selected
320332 # by cibuildwheel independently (currently cp312 + cp313).
321333 python-version : ' 3.14'
322334
323335 - name : Build Pyodide wheel with C speedups
324- uses : pypa/cibuildwheel@v4.2.0
336+ uses : pypa/cibuildwheel@v4.2.1
325337 env :
326338 CIBW_PLATFORM : pyodide
327339 CIBW_TEST_COMMAND : >-
@@ -337,9 +349,9 @@ jobs:
337349 name : Build source distribution
338350 runs-on : ubuntu-latest
339351 steps :
340- - uses : actions/checkout@v6
352+ - uses : actions/checkout@v7
341353
342- - uses : actions/setup-python@v6
354+ - uses : actions/setup-python@v7
343355 name : Install Python
344356 with :
345357 python-version : ' 3.14'
@@ -373,9 +385,9 @@ jobs:
373385 name : Test PEP 517 build (pyproject.toml)
374386 runs-on : ubuntu-latest
375387 steps :
376- - uses : actions/checkout@v6
388+ - uses : actions/checkout@v7
377389
378- - uses : actions/setup-python@v6
390+ - uses : actions/setup-python@v7
379391 name : Install Python
380392 with :
381393 python-version : ' 3.14'
0 commit comments