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.10.16.11360930377
5050 timeout-minutes : 60
5151 needs : check_source
5252 if : needs.check_source.outputs.run_tests == 'true'
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
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/[email protected] 114114 with :
@@ -247,7 +247,7 @@ jobs:
247247 steps :
248248 - uses : actions/checkout@v4
249249 - name : Runner image version
250- run : echo "IMAGE_VERSION=${ImageVersion}" >> $GITHUB_ENV
250+ run : echo "IMAGE_VERSION=${ImageVersion}" >> " $GITHUB_ENV"
251251 - name : Restore config.cache
252252 uses : actions/cache@v4
253253 with :
@@ -259,9 +259,9 @@ jobs:
259259 run : sudo ./.github/workflows/posix-deps-apt.sh
260260 - name : Configure OpenSSL env vars
261261 run : |
262- echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> $GITHUB_ENV
263- echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}" >> $GITHUB_ENV
264- echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> $GITHUB_ENV
262+ echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> " $GITHUB_ENV"
263+ echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}" >> " $GITHUB_ENV"
264+ echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> " $GITHUB_ENV"
265265 - name : ' Restore OpenSSL build'
266266 id : cache-openssl
267267 uses : actions/cache@v4
@@ -270,16 +270,16 @@ jobs:
270270 key : ${{ matrix.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
271271 - name : Install OpenSSL
272272 if : steps.cache-openssl.outputs.cache-hit != 'true'
273- run : python3 Tools/ssl/multissltests.py --steps=library --base-directory $MULTISSL_DIR --openssl $OPENSSL_VER --system Linux
273+ run : python3 Tools/ssl/multissltests.py --steps=library --base-directory " $MULTISSL_DIR" --openssl " $OPENSSL_VER" --system Linux
274274 - name : Add ccache to PATH
275275 run : |
276- echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
276+ echo "PATH=/usr/lib/ccache:$PATH" >> " $GITHUB_ENV"
277277 - name : Configure ccache action
278278 uses :
hendrikmuhs/[email protected] 279279 with :
280280 save : false
281281 - name : Configure CPython
282- run : ./configure CFLAGS="-fdiagnostics-format=json" --config-cache --enable-slower-safety --with-pydebug --with-openssl=$OPENSSL_DIR
282+ run : ./configure CFLAGS="-fdiagnostics-format=json" --config-cache --enable-slower-safety --with-pydebug --with-openssl=" $OPENSSL_DIR"
283283 - name : Build CPython
284284 run : make -j4
285285 - name : Display build info
@@ -312,9 +312,9 @@ jobs:
312312 run : sudo ./.github/workflows/posix-deps-apt.sh
313313 - name : Configure OpenSSL env vars
314314 run : |
315- echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> $GITHUB_ENV
316- echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}" >> $GITHUB_ENV
317- echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> $GITHUB_ENV
315+ echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> " $GITHUB_ENV"
316+ echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}" >> " $GITHUB_ENV"
317+ echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> " $GITHUB_ENV"
318318 - name : ' Restore OpenSSL build'
319319 id : cache-openssl
320320 uses : actions/cache@v4
@@ -323,24 +323,24 @@ jobs:
323323 key : ${{ runner.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
324324 - name : Install OpenSSL
325325 if : steps.cache-openssl.outputs.cache-hit != 'true'
326- run : python3 Tools/ssl/multissltests.py --steps=library --base-directory $MULTISSL_DIR --openssl $OPENSSL_VER --system Linux
326+ run : python3 Tools/ssl/multissltests.py --steps=library --base-directory " $MULTISSL_DIR" --openssl " $OPENSSL_VER" --system Linux
327327 - name : Add ccache to PATH
328328 run : |
329- echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
329+ echo "PATH=/usr/lib/ccache:$PATH" >> " $GITHUB_ENV"
330330 - name : Configure ccache action
331331 uses :
hendrikmuhs/[email protected] 332332 with :
333333 save : false
334334 - name : Setup directory envs for out-of-tree builds
335335 run : |
336- echo "CPYTHON_RO_SRCDIR=$(realpath -m ${GITHUB_WORKSPACE}/../cpython-ro-srcdir)" >> $GITHUB_ENV
337- echo "CPYTHON_BUILDDIR=$(realpath -m ${GITHUB_WORKSPACE}/../cpython-builddir)" >> $GITHUB_ENV
336+ echo "CPYTHON_RO_SRCDIR=$(realpath -m " ${GITHUB_WORKSPACE}" /../cpython-ro-srcdir)" >> " $GITHUB_ENV"
337+ echo "CPYTHON_BUILDDIR=$(realpath -m " ${GITHUB_WORKSPACE}" /../cpython-builddir)" >> " $GITHUB_ENV"
338338 - name : Create directories for read-only out-of-tree builds
339- run : mkdir -p $CPYTHON_RO_SRCDIR $CPYTHON_BUILDDIR
339+ run : mkdir -p " $CPYTHON_RO_SRCDIR" " $CPYTHON_BUILDDIR"
340340 - name : Bind mount sources read-only
341- run : sudo mount --bind -o ro $GITHUB_WORKSPACE $CPYTHON_RO_SRCDIR
341+ run : sudo mount --bind -o ro " $GITHUB_WORKSPACE" " $CPYTHON_RO_SRCDIR"
342342 - name : Runner image version
343- run : echo "IMAGE_VERSION=${ImageVersion}" >> $GITHUB_ENV
343+ run : echo "IMAGE_VERSION=${ImageVersion}" >> " $GITHUB_ENV"
344344 - name : Restore config.cache
345345 uses : actions/cache@v4
346346 with :
@@ -353,7 +353,7 @@ jobs:
353353 --config-cache \
354354 --with-pydebug \
355355 --enable-slower-safety \
356- --with-openssl=$OPENSSL_DIR
356+ --with-openssl=" $OPENSSL_DIR"
357357 - name : Build CPython out-of-tree
358358 working-directory : ${{ env.CPYTHON_BUILDDIR }}
359359 run : make -j4
@@ -362,18 +362,18 @@ jobs:
362362 run : make pythoninfo
363363 - name : Remount sources writable for tests
364364 # some tests write to srcdir, lack of pyc files slows down testing
365- run : sudo mount $CPYTHON_RO_SRCDIR -oremount,rw
365+ run : sudo mount " $CPYTHON_RO_SRCDIR" -oremount,rw
366366 - name : Setup directory envs for out-of-tree builds
367367 run : |
368- echo "CPYTHON_BUILDDIR=$(realpath -m ${GITHUB_WORKSPACE}/../cpython-builddir)" >> $GITHUB_ENV
368+ echo "CPYTHON_BUILDDIR=$(realpath -m " ${GITHUB_WORKSPACE}" /../cpython-builddir)" >> " $GITHUB_ENV"
369369 - name : " Create hypothesis venv"
370370 working-directory : ${{ env.CPYTHON_BUILDDIR }}
371371 run : |
372372 VENV_LOC=$(realpath -m .)/hypovenv
373373 VENV_PYTHON=$VENV_LOC/bin/python
374- echo "HYPOVENV=${VENV_LOC}" >> $GITHUB_ENV
375- echo "VENV_PYTHON=${VENV_PYTHON}" >> $GITHUB_ENV
376- ./python -m venv $VENV_LOC && $VENV_PYTHON -m pip install -r ${GITHUB_WORKSPACE}/Tools/requirements-hypothesis.txt
374+ echo "HYPOVENV=${VENV_LOC}" >> " $GITHUB_ENV"
375+ echo "VENV_PYTHON=${VENV_PYTHON}" >> " $GITHUB_ENV"
376+ ./python -m venv " $VENV_LOC" && " $VENV_PYTHON" -m pip install -r " ${GITHUB_WORKSPACE}/Tools/requirements-hypothesis.txt"
377377 - name : ' Restore Hypothesis database'
378378 id : cache-hypothesis-database
379379 uses : actions/cache@v4
@@ -411,18 +411,21 @@ jobs:
411411
412412 build_asan :
413413 name : ' Address sanitizer'
414- runs-on : ubuntu-22.04
414+ runs-on : ${{ matrix.os }}
415415 timeout-minutes : 60
416416 needs : check_source
417417 if : needs.check_source.outputs.run_tests == 'true'
418+ strategy :
419+ matrix :
420+ os : [ubuntu-22.04]
418421 env :
419422 OPENSSL_VER : 3.0.15
420423 PYTHONSTRICTEXTENSIONBUILD : 1
421424 ASAN_OPTIONS : detect_leaks=0:allocator_may_return_null=1:handle_segv=0
422425 steps :
423426 - uses : actions/checkout@v4
424427 - name : Runner image version
425- run : echo "IMAGE_VERSION=${ImageVersion}" >> $GITHUB_ENV
428+ run : echo "IMAGE_VERSION=${ImageVersion}" >> " $GITHUB_ENV"
426429 - name : Restore config.cache
427430 uses : actions/cache@v4
428431 with :
@@ -438,9 +441,9 @@ jobs:
438441 version : 10
439442 - name : Configure OpenSSL env vars
440443 run : |
441- echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> $GITHUB_ENV
442- echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}" >> $GITHUB_ENV
443- echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> $GITHUB_ENV
444+ echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> " $GITHUB_ENV"
445+ echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}" >> " $GITHUB_ENV"
446+ echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> " $GITHUB_ENV"
444447 - name : ' Restore OpenSSL build'
445448 id : cache-openssl
446449 uses : actions/cache@v4
@@ -449,10 +452,10 @@ jobs:
449452 key : ${{ matrix.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
450453 - name : Install OpenSSL
451454 if : steps.cache-openssl.outputs.cache-hit != 'true'
452- run : python3 Tools/ssl/multissltests.py --steps=library --base-directory $MULTISSL_DIR --openssl $OPENSSL_VER --system Linux
455+ run : python3 Tools/ssl/multissltests.py --steps=library --base-directory " $MULTISSL_DIR" --openssl " $OPENSSL_VER" --system Linux
453456 - name : Add ccache to PATH
454457 run : |
455- echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
458+ echo "PATH=/usr/lib/ccache:$PATH" >> " $GITHUB_ENV"
456459 - name : Configure ccache action
457460 uses :
hendrikmuhs/[email protected] 458461 with :
0 commit comments