@@ -18,6 +18,9 @@ concurrency:
1818 group : ${{ github.workflow }}-${{ github.head_ref || github.run_id }}-reusable
1919 cancel-in-progress : true
2020
21+ env :
22+ FORCE_COLOR : 1
23+
2124jobs :
2225 check_source :
2326 name : Change detection
@@ -42,11 +45,13 @@ jobs:
4245
4346 check_abi :
4447 name : ' Check if the ABI has changed'
45- runs-on : ubuntu-22.04
48+ runs-on : ubuntu-22.04 # 24.04 causes spurious errors
4649 needs : check_source
4750 if : needs.check_source.outputs.run_tests == 'true'
4851 steps :
4952 - uses : actions/checkout@v4
53+ with :
54+ persist-credentials : false
5055 - uses : actions/setup-python@v5
5156 - name : Install dependencies
5257 run : |
@@ -96,11 +101,12 @@ jobs:
96101 steps :
97102 - name : Install Git
98103 run : |
99- apt install git -yq
104+ apt update && apt install git -yq
100105 git config --global --add safe.directory "$GITHUB_WORKSPACE"
101106 - uses : actions/checkout@v4
102107 with :
103108 fetch-depth : 1
109+ persist-credentials : false
104110 - name : Runner image version
105111 run : echo "IMAGE_VERSION=${ImageVersion}" >> $GITHUB_ENV
106112 - name : Check Autoconf and aclocal versions
@@ -131,12 +137,14 @@ jobs:
131137 name : ' Check if generated files are up to date'
132138 # Don't use ubuntu-latest but a specific version to make the job
133139 # reproducible: to get the same tools versions (autoconf, aclocal, ...)
134- runs-on : ubuntu-22 .04
140+ runs-on : ubuntu-24 .04
135141 timeout-minutes : 60
136142 needs : check_source
137143 if : needs.check_source.outputs.run_tests == 'true'
138144 steps :
139145 - uses : actions/checkout@v4
146+ with :
147+ persist-credentials : false
140148 - uses : actions/setup-python@v5
141149 with :
142150 python-version : ' 3.x'
@@ -193,16 +201,28 @@ jobs:
193201 needs : check_source
194202 if : fromJSON(needs.check_source.outputs.run_tests)
195203 strategy :
204+ fail-fast : false
196205 matrix :
206+ os :
207+ - windows-latest
197208 arch :
198- - Win32
199- - x64
200- - arm64
209+ - x64
201210 free-threading :
202- - false
203- - true
211+ - false
212+ - true
213+ include :
214+ - os : windows-latest # FIXME(diegorusso): change to os: windows-aarch64
215+ arch : arm64
216+ free-threading : false
217+ - os : windows-latest # FIXME(diegorusso): change to os: windows-aarch64
218+ arch : arm64
219+ free-threading : true
220+ - os : windows-latest
221+ arch : Win32
222+ free-threading : false
204223 uses : ./.github/workflows/reusable-windows.yml
205224 with :
225+ os : ${{ matrix.os }}
206226 arch : ${{ matrix.arch }}
207227 free-threading : ${{ matrix.free-threading }}
208228
@@ -280,7 +300,7 @@ jobs:
280300 strategy :
281301 fail-fast : false
282302 matrix :
283- os : [ubuntu-22 .04]
303+ os : [ubuntu-24 .04]
284304 openssl_ver : [3.0.15, 3.1.7, 3.2.3, 3.3.2]
285305 env :
286306 OPENSSL_VER : ${{ matrix.openssl_ver }}
@@ -289,6 +309,8 @@ jobs:
289309 LD_LIBRARY_PATH : ${{ github.workspace }}/multissl/openssl/${{ matrix.openssl_ver }}/lib
290310 steps :
291311 - uses : actions/checkout@v4
312+ with :
313+ persist-credentials : false
292314 - name : Runner image version
293315 run : echo "IMAGE_VERSION=${ImageVersion}" >> $GITHUB_ENV
294316 - name : Restore config.cache
@@ -340,7 +362,7 @@ jobs:
340362
341363 test_hypothesis :
342364 name : " Hypothesis tests on Ubuntu"
343- runs-on : ubuntu-22 .04
365+ runs-on : ubuntu-24 .04
344366 timeout-minutes : 60
345367 needs : check_source
346368 if : needs.check_source.outputs.run_tests == 'true' && needs.check_source.outputs.run_hypothesis == 'true'
@@ -349,6 +371,8 @@ jobs:
349371 PYTHONSTRICTEXTENSIONBUILD : 1
350372 steps :
351373 - uses : actions/checkout@v4
374+ with :
375+ persist-credentials : false
352376 - name : Register gcc problem matcher
353377 run : echo "::add-matcher::.github/problem-matchers/gcc.json"
354378 - name : Install Dependencies
@@ -431,7 +455,7 @@ jobs:
431455 #
432456 # (GH-104097) test_sysconfig is skipped because it has tests that are
433457 # failing when executed from inside a virtual environment.
434- ${{ env. VENV_PYTHON }} -m test \
458+ "${ VENV_PYTHON}" -m test \
435459 -W \
436460 -o \
437461 -j4 \
@@ -453,16 +477,21 @@ jobs:
453477
454478 build_asan :
455479 name : ' Address sanitizer'
456- runs-on : ubuntu-22.04
480+ runs-on : ${{ matrix.os }}
457481 timeout-minutes : 60
458482 needs : check_source
459483 if : needs.check_source.outputs.run_tests == 'true'
484+ strategy :
485+ matrix :
486+ os : [ubuntu-24.04]
460487 env :
461488 OPENSSL_VER : 3.0.15
462489 PYTHONSTRICTEXTENSIONBUILD : 1
463490 ASAN_OPTIONS : detect_leaks=0:allocator_may_return_null=1:handle_segv=0
464491 steps :
465492 - uses : actions/checkout@v4
493+ with :
494+ persist-credentials : false
466495 - name : Runner image version
467496 run : echo "IMAGE_VERSION=${ImageVersion}" >> $GITHUB_ENV
468497 - name : Restore config.cache
0 commit comments