@@ -46,20 +46,20 @@ jobs:
4646 # reproducible: to get the same tools versions (autoconf, aclocal, ...)
4747 runs-on : ubuntu-24.04
4848 container :
49- image : ghcr.io/python/autoconf:2024.10 .11.11293396815
49+ image : ghcr.io/python/autoconf:2024.11 .11.11786316759
5050 timeout-minutes : 60
5151 needs : check_source
5252 if : needs.check_source.outputs.run_tests == 'true'
5353 steps :
5454 - name : Install Git
5555 run : |
56- apt install git -yq
56+ apt update && apt install git -yq
5757 git config --global --add safe.directory "$GITHUB_WORKSPACE"
5858 - uses : actions/checkout@v4
5959 with :
6060 fetch-depth : 1
6161 - name : Runner image version
62- run : echo "IMAGE_VERSION=${ImageVersion}" >> $GITHUB_ENV
62+ run : echo "IMAGE_VERSION=${ImageVersion}" >> " $GITHUB_ENV"
6363 - name : Check Autoconf and aclocal versions
6464 run : |
6565 grep "Generated by GNU Autoconf 2.71" configure
7676 # Check for changes in regenerated files
7777 if test -n "$changes"; then
7878 echo "Generated files not up to date."
79- echo "Perhaps you forgot to run make regen-all or build.bat --regen. ;)"
79+ echo "Perhaps you forgot to run make regen-configure ;)"
8080 echo "configure files must be regenerated with a specific version of autoconf."
8181 echo "$changes"
8282 echo ""
8888 name : ' Check if generated files are up to date'
8989 # Don't use ubuntu-latest but a specific version to make the job
9090 # reproducible: to get the same tools versions (autoconf, aclocal, ...)
91- runs-on : ubuntu-22 .04
91+ runs-on : ubuntu-24 .04
9292 timeout-minutes : 60
9393 needs : check_source
9494 if : needs.check_source.outputs.run_tests == 'true'
9898 with :
9999 python-version : ' 3.x'
100100 - name : Runner image version
101- run : echo "IMAGE_VERSION=${ImageVersion}" >> $GITHUB_ENV
101+ run : echo "IMAGE_VERSION=${ImageVersion}" >> " $GITHUB_ENV"
102102 - name : Restore config.cache
103103 uses : actions/cache@v4
104104 with :
@@ -108,7 +108,7 @@ jobs:
108108 - name : Install Dependencies
109109 run : sudo ./.github/workflows/posix-deps-apt.sh
110110 - name : Add ccache to PATH
111- run : echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
111+ run : echo "PATH=/usr/lib/ccache:$PATH" >> " $GITHUB_ENV"
112112 - name : Configure ccache action
113113 uses : hendrikmuhs/ccache-action@v1.2
114114 with :
@@ -249,7 +249,7 @@ jobs:
249249 strategy :
250250 fail-fast : false
251251 matrix :
252- os : [ubuntu-22 .04]
252+ os : [ubuntu-24 .04]
253253 openssl_ver : [3.0.15, 3.1.7, 3.2.3, 3.3.2]
254254 env :
255255 OPENSSL_VER : ${{ matrix.openssl_ver }}
@@ -259,7 +259,7 @@ jobs:
259259 steps :
260260 - uses : actions/checkout@v4
261261 - name : Runner image version
262- run : echo "IMAGE_VERSION=${ImageVersion}" >> $GITHUB_ENV
262+ run : echo "IMAGE_VERSION=${ImageVersion}" >> " $GITHUB_ENV"
263263 - name : Restore config.cache
264264 uses : actions/cache@v4
265265 with :
@@ -271,9 +271,9 @@ jobs:
271271 run : sudo ./.github/workflows/posix-deps-apt.sh
272272 - name : Configure OpenSSL env vars
273273 run : |
274- echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> $GITHUB_ENV
275- echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}" >> $GITHUB_ENV
276- echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> $GITHUB_ENV
274+ echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> " $GITHUB_ENV"
275+ echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}" >> " $GITHUB_ENV"
276+ echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> " $GITHUB_ENV"
277277 - name : ' Restore OpenSSL build'
278278 id : cache-openssl
279279 uses : actions/cache@v4
@@ -282,16 +282,16 @@ jobs:
282282 key : ${{ matrix.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
283283 - name : Install OpenSSL
284284 if : steps.cache-openssl.outputs.cache-hit != 'true'
285- run : python3 Tools/ssl/multissltests.py --steps=library --base-directory $MULTISSL_DIR --openssl $OPENSSL_VER --system Linux
285+ run : python3 Tools/ssl/multissltests.py --steps=library --base-directory " $MULTISSL_DIR" --openssl " $OPENSSL_VER" --system Linux
286286 - name : Add ccache to PATH
287287 run : |
288- echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
288+ echo "PATH=/usr/lib/ccache:$PATH" >> " $GITHUB_ENV"
289289 - name : Configure ccache action
290290 uses : hendrikmuhs/ccache-action@v1.2
291291 with :
292292 save : false
293293 - name : Configure CPython
294- run : ./configure CFLAGS="-fdiagnostics-format=json" --config-cache --enable-slower-safety --with-pydebug --with-openssl=$OPENSSL_DIR
294+ run : ./configure CFLAGS="-fdiagnostics-format=json" --config-cache --enable-slower-safety --with-pydebug --with-openssl=" $OPENSSL_DIR"
295295 - name : Build CPython
296296 run : make -j4
297297 - name : Display build info
@@ -309,7 +309,7 @@ jobs:
309309
310310 test_hypothesis :
311311 name : " Hypothesis tests on Ubuntu"
312- runs-on : ubuntu-22 .04
312+ runs-on : ubuntu-24 .04
313313 timeout-minutes : 60
314314 needs : check_source
315315 if : needs.check_source.outputs.run_tests == 'true' && needs.check_source.outputs.run_hypothesis == 'true'
@@ -324,9 +324,9 @@ jobs:
324324 run : sudo ./.github/workflows/posix-deps-apt.sh
325325 - name : Configure OpenSSL env vars
326326 run : |
327- echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> $GITHUB_ENV
328- echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}" >> $GITHUB_ENV
329- echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> $GITHUB_ENV
327+ echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> " $GITHUB_ENV"
328+ echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}" >> " $GITHUB_ENV"
329+ echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> " $GITHUB_ENV"
330330 - name : ' Restore OpenSSL build'
331331 id : cache-openssl
332332 uses : actions/cache@v4
@@ -335,24 +335,24 @@ jobs:
335335 key : ${{ runner.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
336336 - name : Install OpenSSL
337337 if : steps.cache-openssl.outputs.cache-hit != 'true'
338- run : python3 Tools/ssl/multissltests.py --steps=library --base-directory $MULTISSL_DIR --openssl $OPENSSL_VER --system Linux
338+ run : python3 Tools/ssl/multissltests.py --steps=library --base-directory " $MULTISSL_DIR" --openssl " $OPENSSL_VER" --system Linux
339339 - name : Add ccache to PATH
340340 run : |
341- echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
341+ echo "PATH=/usr/lib/ccache:$PATH" >> " $GITHUB_ENV"
342342 - name : Configure ccache action
343343 uses : hendrikmuhs/ccache-action@v1.2
344344 with :
345345 save : false
346346 - name : Setup directory envs for out-of-tree builds
347347 run : |
348- echo "CPYTHON_RO_SRCDIR=$(realpath -m ${GITHUB_WORKSPACE}/../cpython-ro-srcdir)" >> $GITHUB_ENV
349- echo "CPYTHON_BUILDDIR=$(realpath -m ${GITHUB_WORKSPACE}/../cpython-builddir)" >> $GITHUB_ENV
348+ echo "CPYTHON_RO_SRCDIR=$(realpath -m " ${GITHUB_WORKSPACE}" /../cpython-ro-srcdir)" >> " $GITHUB_ENV"
349+ echo "CPYTHON_BUILDDIR=$(realpath -m " ${GITHUB_WORKSPACE}" /../cpython-builddir)" >> " $GITHUB_ENV"
350350 - name : Create directories for read-only out-of-tree builds
351- run : mkdir -p $CPYTHON_RO_SRCDIR $CPYTHON_BUILDDIR
351+ run : mkdir -p " $CPYTHON_RO_SRCDIR" " $CPYTHON_BUILDDIR"
352352 - name : Bind mount sources read-only
353- run : sudo mount --bind -o ro $GITHUB_WORKSPACE $CPYTHON_RO_SRCDIR
353+ run : sudo mount --bind -o ro " $GITHUB_WORKSPACE" " $CPYTHON_RO_SRCDIR"
354354 - name : Runner image version
355- run : echo "IMAGE_VERSION=${ImageVersion}" >> $GITHUB_ENV
355+ run : echo "IMAGE_VERSION=${ImageVersion}" >> " $GITHUB_ENV"
356356 - name : Restore config.cache
357357 uses : actions/cache@v4
358358 with :
@@ -365,7 +365,7 @@ jobs:
365365 --config-cache \
366366 --with-pydebug \
367367 --enable-slower-safety \
368- --with-openssl=$OPENSSL_DIR
368+ --with-openssl=" $OPENSSL_DIR"
369369 - name : Build CPython out-of-tree
370370 working-directory : ${{ env.CPYTHON_BUILDDIR }}
371371 run : make -j4
@@ -374,18 +374,18 @@ jobs:
374374 run : make pythoninfo
375375 - name : Remount sources writable for tests
376376 # some tests write to srcdir, lack of pyc files slows down testing
377- run : sudo mount $CPYTHON_RO_SRCDIR -oremount,rw
377+ run : sudo mount " $CPYTHON_RO_SRCDIR" -oremount,rw
378378 - name : Setup directory envs for out-of-tree builds
379379 run : |
380- echo "CPYTHON_BUILDDIR=$(realpath -m ${GITHUB_WORKSPACE}/../cpython-builddir)" >> $GITHUB_ENV
380+ echo "CPYTHON_BUILDDIR=$(realpath -m " ${GITHUB_WORKSPACE}" /../cpython-builddir)" >> " $GITHUB_ENV"
381381 - name : " Create hypothesis venv"
382382 working-directory : ${{ env.CPYTHON_BUILDDIR }}
383383 run : |
384384 VENV_LOC=$(realpath -m .)/hypovenv
385385 VENV_PYTHON=$VENV_LOC/bin/python
386- echo "HYPOVENV=${VENV_LOC}" >> $GITHUB_ENV
387- echo "VENV_PYTHON=${VENV_PYTHON}" >> $GITHUB_ENV
388- ./python -m venv $VENV_LOC && $VENV_PYTHON -m pip install -r ${GITHUB_WORKSPACE}/Tools/requirements-hypothesis.txt
386+ echo "HYPOVENV=${VENV_LOC}" >> " $GITHUB_ENV"
387+ echo "VENV_PYTHON=${VENV_PYTHON}" >> " $GITHUB_ENV"
388+ ./python -m venv " $VENV_LOC" && " $VENV_PYTHON" -m pip install -r " ${GITHUB_WORKSPACE}/Tools/requirements-hypothesis.txt"
389389 - name : ' Restore Hypothesis database'
390390 id : cache-hypothesis-database
391391 uses : actions/cache@v4
@@ -423,18 +423,21 @@ jobs:
423423
424424 build_asan :
425425 name : ' Address sanitizer'
426- runs-on : ubuntu-22.04
426+ runs-on : ${{ matrix.os }}
427427 timeout-minutes : 60
428428 needs : check_source
429429 if : needs.check_source.outputs.run_tests == 'true'
430+ strategy :
431+ matrix :
432+ os : [ubuntu-24.04]
430433 env :
431434 OPENSSL_VER : 3.0.15
432435 PYTHONSTRICTEXTENSIONBUILD : 1
433436 ASAN_OPTIONS : detect_leaks=0:allocator_may_return_null=1:handle_segv=0
434437 steps :
435438 - uses : actions/checkout@v4
436439 - name : Runner image version
437- run : echo "IMAGE_VERSION=${ImageVersion}" >> $GITHUB_ENV
440+ run : echo "IMAGE_VERSION=${ImageVersion}" >> " $GITHUB_ENV"
438441 - name : Restore config.cache
439442 uses : actions/cache@v4
440443 with :
@@ -450,9 +453,9 @@ jobs:
450453 version : 10
451454 - name : Configure OpenSSL env vars
452455 run : |
453- echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> $GITHUB_ENV
454- echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}" >> $GITHUB_ENV
455- echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> $GITHUB_ENV
456+ echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> " $GITHUB_ENV"
457+ echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}" >> " $GITHUB_ENV"
458+ echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> " $GITHUB_ENV"
456459 - name : ' Restore OpenSSL build'
457460 id : cache-openssl
458461 uses : actions/cache@v4
@@ -461,10 +464,10 @@ jobs:
461464 key : ${{ matrix.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
462465 - name : Install OpenSSL
463466 if : steps.cache-openssl.outputs.cache-hit != 'true'
464- run : python3 Tools/ssl/multissltests.py --steps=library --base-directory $MULTISSL_DIR --openssl $OPENSSL_VER --system Linux
467+ run : python3 Tools/ssl/multissltests.py --steps=library --base-directory " $MULTISSL_DIR" --openssl " $OPENSSL_VER" --system Linux
465468 - name : Add ccache to PATH
466469 run : |
467- echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
470+ echo "PATH=/usr/lib/ccache:$PATH" >> " $GITHUB_ENV"
468471 - name : Configure ccache action
469472 uses : hendrikmuhs/ccache-action@v1.2
470473 with :
@@ -477,7 +480,7 @@ jobs:
477480 - name : Display build info
478481 run : make pythoninfo
479482 - name : Tests
480- run : xvfb-run make test
483+ run : xvfb-run make ci
481484
482485 build_tsan :
483486 name : ' Thread sanitizer'
0 commit comments