59
59
with :
60
60
fetch-depth : 1
61
61
- name : Runner image version
62
- run : echo "IMAGE_VERSION=${ImageVersion}" >> $GITHUB_ENV
62
+ run : echo "IMAGE_VERSION=${ImageVersion}" >> " $GITHUB_ENV"
63
63
- name : Check Autoconf and aclocal versions
64
64
run : |
65
65
grep "Generated by GNU Autoconf 2.71" configure
98
98
with :
99
99
python-version : ' 3.x'
100
100
- name : Runner image version
101
- run : echo "IMAGE_VERSION=${ImageVersion}" >> $GITHUB_ENV
101
+ run : echo "IMAGE_VERSION=${ImageVersion}" >> " $GITHUB_ENV"
102
102
- name : Restore config.cache
103
103
uses : actions/cache@v4
104
104
with :
@@ -108,7 +108,7 @@ jobs:
108
108
- name : Install Dependencies
109
109
run : sudo ./.github/workflows/posix-deps-apt.sh
110
110
- 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"
112
112
- name : Configure ccache action
113
113
uses : hendrikmuhs/ccache-action@v1.2
114
114
with :
@@ -247,7 +247,7 @@ jobs:
247
247
steps :
248
248
- uses : actions/checkout@v4
249
249
- name : Runner image version
250
- run : echo "IMAGE_VERSION=${ImageVersion}" >> $GITHUB_ENV
250
+ run : echo "IMAGE_VERSION=${ImageVersion}" >> " $GITHUB_ENV"
251
251
- name : Restore config.cache
252
252
uses : actions/cache@v4
253
253
with :
@@ -259,9 +259,9 @@ jobs:
259
259
run : sudo ./.github/workflows/posix-deps-apt.sh
260
260
- name : Configure OpenSSL env vars
261
261
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"
265
265
- name : ' Restore OpenSSL build'
266
266
id : cache-openssl
267
267
uses : actions/cache@v4
@@ -270,16 +270,16 @@ jobs:
270
270
key : ${{ matrix.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
271
271
- name : Install OpenSSL
272
272
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
274
274
- name : Add ccache to PATH
275
275
run : |
276
- echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
276
+ echo "PATH=/usr/lib/ccache:$PATH" >> " $GITHUB_ENV"
277
277
- name : Configure ccache action
278
278
uses : hendrikmuhs/ccache-action@v1.2
279
279
with :
280
280
save : false
281
281
- 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"
283
283
- name : Build CPython
284
284
run : make -j4
285
285
- name : Display build info
@@ -312,9 +312,9 @@ jobs:
312
312
run : sudo ./.github/workflows/posix-deps-apt.sh
313
313
- name : Configure OpenSSL env vars
314
314
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"
318
318
- name : ' Restore OpenSSL build'
319
319
id : cache-openssl
320
320
uses : actions/cache@v4
@@ -323,24 +323,24 @@ jobs:
323
323
key : ${{ runner.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
324
324
- name : Install OpenSSL
325
325
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
327
327
- name : Add ccache to PATH
328
328
run : |
329
- echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
329
+ echo "PATH=/usr/lib/ccache:$PATH" >> " $GITHUB_ENV"
330
330
- name : Configure ccache action
331
331
uses : hendrikmuhs/ccache-action@v1.2
332
332
with :
333
333
save : false
334
334
- name : Setup directory envs for out-of-tree builds
335
335
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"
338
338
- 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"
340
340
- 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"
342
342
- name : Runner image version
343
- run : echo "IMAGE_VERSION=${ImageVersion}" >> $GITHUB_ENV
343
+ run : echo "IMAGE_VERSION=${ImageVersion}" >> " $GITHUB_ENV"
344
344
- name : Restore config.cache
345
345
uses : actions/cache@v4
346
346
with :
@@ -353,7 +353,7 @@ jobs:
353
353
--config-cache \
354
354
--with-pydebug \
355
355
--enable-slower-safety \
356
- --with-openssl=$OPENSSL_DIR
356
+ --with-openssl=" $OPENSSL_DIR"
357
357
- name : Build CPython out-of-tree
358
358
working-directory : ${{ env.CPYTHON_BUILDDIR }}
359
359
run : make -j4
@@ -362,18 +362,18 @@ jobs:
362
362
run : make pythoninfo
363
363
- name : Remount sources writable for tests
364
364
# 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
366
366
- name : Setup directory envs for out-of-tree builds
367
367
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"
369
369
- name : " Create hypothesis venv"
370
370
working-directory : ${{ env.CPYTHON_BUILDDIR }}
371
371
run : |
372
372
VENV_LOC=$(realpath -m .)/hypovenv
373
373
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"
377
377
- name : ' Restore Hypothesis database'
378
378
id : cache-hypothesis-database
379
379
uses : actions/cache@v4
@@ -411,18 +411,21 @@ jobs:
411
411
412
412
build_asan :
413
413
name : ' Address sanitizer'
414
- runs-on : ubuntu-22.04
414
+ runs-on : ${{ matrix.os }}
415
415
timeout-minutes : 60
416
416
needs : check_source
417
417
if : needs.check_source.outputs.run_tests == 'true'
418
+ strategy :
419
+ matrix :
420
+ os : [ubuntu-22.04]
418
421
env :
419
422
OPENSSL_VER : 3.0.15
420
423
PYTHONSTRICTEXTENSIONBUILD : 1
421
424
ASAN_OPTIONS : detect_leaks=0:allocator_may_return_null=1:handle_segv=0
422
425
steps :
423
426
- uses : actions/checkout@v4
424
427
- name : Runner image version
425
- run : echo "IMAGE_VERSION=${ImageVersion}" >> $GITHUB_ENV
428
+ run : echo "IMAGE_VERSION=${ImageVersion}" >> " $GITHUB_ENV"
426
429
- name : Restore config.cache
427
430
uses : actions/cache@v4
428
431
with :
@@ -438,9 +441,9 @@ jobs:
438
441
version : 10
439
442
- name : Configure OpenSSL env vars
440
443
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"
444
447
- name : ' Restore OpenSSL build'
445
448
id : cache-openssl
446
449
uses : actions/cache@v4
@@ -449,10 +452,10 @@ jobs:
449
452
key : ${{ matrix.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
450
453
- name : Install OpenSSL
451
454
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
453
456
- name : Add ccache to PATH
454
457
run : |
455
- echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
458
+ echo "PATH=/usr/lib/ccache:$PATH" >> " $GITHUB_ENV"
456
459
- name : Configure ccache action
457
460
uses : hendrikmuhs/ccache-action@v1.2
458
461
with :
@@ -465,7 +468,7 @@ jobs:
465
468
- name : Display build info
466
469
run : make pythoninfo
467
470
- name : Tests
468
- run : xvfb-run make test
471
+ run : xvfb-run make ci
469
472
470
473
build_tsan :
471
474
name : ' Thread sanitizer'
0 commit comments