55 push :
66 branches :
77 - ' main'
8- - ' 3.12'
9- - ' 3.11'
10- - ' 3.10'
11- - ' 3.9'
12- - ' 3.8'
8+ - ' 3.*'
139 pull_request :
1410 branches :
1511 - ' main'
16- - ' 3.12'
17- - ' 3.11'
18- - ' 3.10'
19- - ' 3.9'
20- - ' 3.8'
12+ - ' 3.*'
2113
2214permissions :
2315 contents : read
@@ -115,8 +107,6 @@ jobs:
115107 with :
116108 fetch-depth : 1
117109 persist-credentials : false
118- - name : Runner image version
119- run : echo "IMAGE_VERSION=${ImageVersion}" >> $GITHUB_ENV
120110 - name : Check Autoconf and aclocal versions
121111 run : |
122112 grep "Generated by GNU Autoconf 2.71" configure
@@ -157,16 +147,17 @@ jobs:
157147 with :
158148 python-version : ' 3.x'
159149 - name : Runner image version
160- run : echo "IMAGE_VERSION =${ImageVersion}" >> $GITHUB_ENV
150+ run : echo "IMAGE_OS_VERSION =${ImageOS}-${ ImageVersion}" >> " $GITHUB_ENV"
161151 - name : Restore config.cache
162152 uses : actions/cache@v4
163153 with :
164154 path : config.cache
165- key : ${{ github.job }}-${{ runner.os }}-${{ env.IMAGE_VERSION }}-${{ needs.check_source.outputs.config_hash }}-${{ env.pythonLocation }}
166- - name : Install Dependencies
155+ # Include env.pythonLocation in key to avoid changes in environment when setup-python updates Python
156+ key : ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ needs.check_source.outputs.config_hash }}-${{ env.pythonLocation }}
157+ - name : Install dependencies
167158 run : sudo ./.github/workflows/posix-deps-apt.sh
168159 - name : Add ccache to PATH
169- run : echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
160+ run : echo "PATH=/usr/lib/ccache:$PATH" >> " $GITHUB_ENV"
170161 - name : Configure ccache action
171162 uses :
hendrikmuhs/[email protected] 172163 with :
@@ -310,21 +301,21 @@ jobs:
310301 with :
311302 persist-credentials : false
312303 - name : Runner image version
313- run : echo "IMAGE_VERSION =${ImageVersion}" >> $GITHUB_ENV
304+ run : echo "IMAGE_OS_VERSION =${ImageOS}-${ ImageVersion}" >> " $GITHUB_ENV"
314305 - name : Restore config.cache
315306 uses : actions/cache@v4
316307 with :
317308 path : config.cache
318- key : ${{ github.job }}-${{ runner.os }}-${{ env.IMAGE_VERSION }}-${{ needs.check_source.outputs.config_hash }}
309+ key : ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ needs.check_source.outputs.config_hash }}
319310 - name : Register gcc problem matcher
320311 run : echo "::add-matcher::.github/problem-matchers/gcc.json"
321- - name : Install Dependencies
312+ - name : Install dependencies
322313 run : sudo ./.github/workflows/posix-deps-apt.sh
323314 - name : Configure OpenSSL env vars
324315 run : |
325- echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> $GITHUB_ENV
326- echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}" >> $GITHUB_ENV
327- echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> $GITHUB_ENV
316+ echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> " $GITHUB_ENV"
317+ echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}" >> " $GITHUB_ENV"
318+ echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> " $GITHUB_ENV"
328319 - name : ' Restore OpenSSL build'
329320 id : cache-openssl
330321 uses : actions/cache@v4
@@ -333,10 +324,10 @@ jobs:
333324 key : ${{ matrix.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
334325 - name : Install OpenSSL
335326 if : steps.cache-openssl.outputs.cache-hit != 'true'
336- run : python3 Tools/ssl/multissltests.py --steps=library --base-directory $MULTISSL_DIR --openssl $OPENSSL_VER --system Linux
327+ run : python3 Tools/ssl/multissltests.py --steps=library --base-directory " $MULTISSL_DIR" --openssl " $OPENSSL_VER" --system Linux
337328 - name : Add ccache to PATH
338329 run : |
339- echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
330+ echo "PATH=/usr/lib/ccache:$PATH" >> " $GITHUB_ENV"
340331 - name : Configure ccache action
341332 uses :
hendrikmuhs/[email protected] 342333 with :
@@ -369,9 +360,9 @@ jobs:
369360 run : sudo ./.github/workflows/posix-deps-apt.sh
370361 - name : Configure OpenSSL env vars
371362 run : |
372- echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> $GITHUB_ENV
373- echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}" >> $GITHUB_ENV
374- echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> $GITHUB_ENV
363+ echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> " $GITHUB_ENV"
364+ echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}" >> " $GITHUB_ENV"
365+ echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> " $GITHUB_ENV"
375366 - name : ' Restore OpenSSL build'
376367 id : cache-openssl
377368 uses : actions/cache@v4
@@ -380,36 +371,36 @@ jobs:
380371 key : ${{ runner.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
381372 - name : Install OpenSSL
382373 if : steps.cache-openssl.outputs.cache-hit != 'true'
383- run : python3 Tools/ssl/multissltests.py --steps=library --base-directory $MULTISSL_DIR --openssl $OPENSSL_VER --system Linux
374+ run : python3 Tools/ssl/multissltests.py --steps=library --base-directory " $MULTISSL_DIR" --openssl " $OPENSSL_VER" --system Linux
384375 - name : Add ccache to PATH
385376 run : |
386- echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
377+ echo "PATH=/usr/lib/ccache:$PATH" >> " $GITHUB_ENV"
387378 - name : Configure ccache action
388379 uses :
hendrikmuhs/[email protected] 389380 with :
390381 save : false
391382 - name : Setup directory envs for out-of-tree builds
392383 run : |
393- echo "CPYTHON_RO_SRCDIR=$(realpath -m ${GITHUB_WORKSPACE}/../cpython-ro-srcdir)" >> $GITHUB_ENV
394- echo "CPYTHON_BUILDDIR=$(realpath -m ${GITHUB_WORKSPACE}/../cpython-builddir)" >> $GITHUB_ENV
384+ echo "CPYTHON_RO_SRCDIR=$(realpath -m " ${GITHUB_WORKSPACE}" /../cpython-ro-srcdir)" >> " $GITHUB_ENV"
385+ echo "CPYTHON_BUILDDIR=$(realpath -m " ${GITHUB_WORKSPACE}" /../cpython-builddir)" >> " $GITHUB_ENV"
395386 - name : Create directories for read-only out-of-tree builds
396- run : mkdir -p $CPYTHON_RO_SRCDIR $CPYTHON_BUILDDIR
387+ run : mkdir -p " $CPYTHON_RO_SRCDIR" " $CPYTHON_BUILDDIR"
397388 - name : Bind mount sources read-only
398- run : sudo mount --bind -o ro $GITHUB_WORKSPACE $CPYTHON_RO_SRCDIR
389+ run : sudo mount --bind -o ro " $GITHUB_WORKSPACE" " $CPYTHON_RO_SRCDIR"
399390 - name : Runner image version
400- run : echo "IMAGE_VERSION =${ImageVersion}" >> $GITHUB_ENV
391+ run : echo "IMAGE_OS_VERSION =${ImageOS}-${ ImageVersion}" >> " $GITHUB_ENV"
401392 - name : Restore config.cache
402393 uses : actions/cache@v4
403394 with :
404395 path : ${{ env.CPYTHON_BUILDDIR }}/config.cache
405- key : ${{ github.job }}-${{ runner.os }}-${{ env.IMAGE_VERSION }}-${{ needs.check_source.outputs.config_hash }}
396+ key : ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ needs.check_source.outputs.config_hash }}
406397 - name : Configure CPython out-of-tree
407398 working-directory : ${{ env.CPYTHON_BUILDDIR }}
408399 run : |
409400 ../cpython-ro-srcdir/configure \
410401 --config-cache \
411402 --with-pydebug \
412- --with-openssl=$OPENSSL_DIR
403+ --with-openssl=" $OPENSSL_DIR"
413404 - name : Build CPython out-of-tree
414405 working-directory : ${{ env.CPYTHON_BUILDDIR }}
415406 run : make -j4
@@ -418,18 +409,18 @@ jobs:
418409 run : make pythoninfo
419410 - name : Remount sources writable for tests
420411 # some tests write to srcdir, lack of pyc files slows down testing
421- run : sudo mount $CPYTHON_RO_SRCDIR -oremount,rw
412+ run : sudo mount " $CPYTHON_RO_SRCDIR" -oremount,rw
422413 - name : Setup directory envs for out-of-tree builds
423414 run : |
424- echo "CPYTHON_BUILDDIR=$(realpath -m ${GITHUB_WORKSPACE}/../cpython-builddir)" >> $GITHUB_ENV
415+ echo "CPYTHON_BUILDDIR=$(realpath -m " ${GITHUB_WORKSPACE}" /../cpython-builddir)" >> " $GITHUB_ENV"
425416 - name : " Create hypothesis venv"
426417 working-directory : ${{ env.CPYTHON_BUILDDIR }}
427418 run : |
428419 VENV_LOC=$(realpath -m .)/hypovenv
429420 VENV_PYTHON=$VENV_LOC/bin/python
430- echo "HYPOVENV=${VENV_LOC}" >> $GITHUB_ENV
431- echo "VENV_PYTHON=${VENV_PYTHON}" >> $GITHUB_ENV
432- ./python -m venv $VENV_LOC && $VENV_PYTHON -m pip install -r ${GITHUB_WORKSPACE}/Tools/requirements-hypothesis.txt
421+ echo "HYPOVENV=${VENV_LOC}" >> " $GITHUB_ENV"
422+ echo "VENV_PYTHON=${VENV_PYTHON}" >> " $GITHUB_ENV"
423+ ./python -m venv " $VENV_LOC" && " $VENV_PYTHON" -m pip install -r " ${GITHUB_WORKSPACE}/Tools/requirements-hypothesis.txt"
433424 - name : ' Restore Hypothesis database'
434425 id : cache-hypothesis-database
435426 uses : actions/cache@v4
@@ -483,25 +474,25 @@ jobs:
483474 with :
484475 persist-credentials : false
485476 - name : Runner image version
486- run : echo "IMAGE_VERSION =${ImageVersion}" >> $GITHUB_ENV
477+ run : echo "IMAGE_OS_VERSION =${ImageOS}-${ ImageVersion}" >> " $GITHUB_ENV"
487478 - name : Restore config.cache
488479 uses : actions/cache@v4
489480 with :
490481 path : config.cache
491- key : ${{ github.job }}-${{ runner.os }}-${{ env.IMAGE_VERSION }}-${{ needs.check_source.outputs.config_hash }}
482+ key : ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ needs.check_source.outputs.config_hash }}
492483 - name : Register gcc problem matcher
493484 run : echo "::add-matcher::.github/problem-matchers/gcc.json"
494- - name : Install Dependencies
485+ - name : Install dependencies
495486 run : sudo ./.github/workflows/posix-deps-apt.sh
496487 - name : Set up GCC-10 for ASAN
497488 uses : egor-tensin/setup-gcc@v1
498489 with :
499490 version : 10
500491 - name : Configure OpenSSL env vars
501492 run : |
502- echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> $GITHUB_ENV
503- echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}" >> $GITHUB_ENV
504- echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> $GITHUB_ENV
493+ echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> " $GITHUB_ENV"
494+ echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}" >> " $GITHUB_ENV"
495+ echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> " $GITHUB_ENV"
505496 - name : ' Restore OpenSSL build'
506497 id : cache-openssl
507498 uses : actions/cache@v4
@@ -510,10 +501,10 @@ jobs:
510501 key : ${{ matrix.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
511502 - name : Install OpenSSL
512503 if : steps.cache-openssl.outputs.cache-hit != 'true'
513- run : python3 Tools/ssl/multissltests.py --steps=library --base-directory $MULTISSL_DIR --openssl $OPENSSL_VER --system Linux
504+ run : python3 Tools/ssl/multissltests.py --steps=library --base-directory " $MULTISSL_DIR" --openssl " $OPENSSL_VER" --system Linux
514505 - name : Add ccache to PATH
515506 run : |
516- echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
507+ echo "PATH=/usr/lib/ccache:$PATH" >> " $GITHUB_ENV"
517508 - name : Configure ccache action
518509 uses :
hendrikmuhs/[email protected] 519510 with :
0 commit comments