@@ -260,84 +260,28 @@ jobs:
260260 free-threading : ${{ matrix.free-threading }}
261261 os : ${{ matrix.os }}
262262
263- build-ubuntu-ssltests-openssl :
264- name : ' Ubuntu SSL tests with OpenSSL '
263+ build-ubuntu-ssltests :
264+ name : ' Ubuntu SSL tests'
265265 runs-on : ${{ matrix.os }}
266266 timeout-minutes : 60
267267 needs : build-context
268268 if : needs.build-context.outputs.run-tests == 'true'
269269 strategy :
270270 fail-fast : false
271271 matrix :
272- os : [ubuntu-24.04]
273- openssl_ver : [3.0.16, 3.1.8, 3.2.4, 3.3.3, 3.4.1]
272+ include :
273+ - { os: ubuntu-24.04, ssl: openssl, ssl_ver: 3.0.16 }
274+ - { os: ubuntu-24.04, ssl: openssl, ssl_ver: 3.1.8 }
275+ - { os: ubuntu-24.04, ssl: openssl, ssl_ver: 3.2.4 }
276+ - { os: ubuntu-24.04, ssl: openssl, ssl_ver: 3.3.3 }
277+ - { os: ubuntu-24.04, ssl: openssl, ssl_ver: 3.4.1 }
278+ - { os: ubuntu-24.04, ssl: aws-lc, ssl_ver: 1.55.0 }
274279 # See Tools/ssl/make_ssl_data.py for notes on adding a new version
275280 env :
276- OPENSSL_VER : ${{ matrix.openssl_ver }}
277- MULTISSL_DIR : ${{ github.workspace }}/multissl
278- OPENSSL_DIR : ${{ github.workspace }}/multissl/openssl/${{ matrix.openssl_ver }}
279- LD_LIBRARY_PATH : ${{ github.workspace }}/multissl/openssl/${{ matrix.openssl_ver }}/lib
280- steps :
281- - uses : actions/checkout@v4
282- with :
283- persist-credentials : false
284- - name : Runner image version
285- run : echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
286- - name : Restore config.cache
287- uses : actions/cache@v4
288- with :
289- path : config.cache
290- key : ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ needs.build-context.outputs.config-hash }}
291- - name : Register gcc problem matcher
292- run : echo "::add-matcher::.github/problem-matchers/gcc.json"
293- - name : Install dependencies
294- run : sudo ./.github/workflows/posix-deps-apt.sh
295- - name : Configure OpenSSL env vars
296- run : |
297- echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> "$GITHUB_ENV"
298- echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}" >> "$GITHUB_ENV"
299- echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> "$GITHUB_ENV"
300- - name : ' Restore OpenSSL build'
301- id : cache-openssl
302- uses : actions/cache@v4
303- with :
304- path : ./multissl/openssl/${{ env.OPENSSL_VER }}
305- key : ${{ matrix.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
306- - name : Install OpenSSL
307- if : steps.cache-openssl.outputs.cache-hit != 'true'
308- run : python3 Tools/ssl/multissltests.py --steps=library --base-directory "$MULTISSL_DIR" --openssl "$OPENSSL_VER" --system Linux
309- - name : Add ccache to PATH
310- run : |
311- echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV"
312- - name : Configure ccache action
313- uses : hendrikmuhs/ccache-action@v1.2
314- with :
315- save : false
316- - name : Configure CPython
317- run : ./configure CFLAGS="-fdiagnostics-format=json" --config-cache --enable-slower-safety --with-pydebug --with-openssl="$OPENSSL_DIR"
318- - name : Build CPython
319- run : make -j4
320- - name : Display build info
321- run : make pythoninfo
322- - name : SSL tests
323- run : ./python Lib/test/ssltests.py
324-
325- build-ubuntu-ssltests-awslc :
326- name : ' Ubuntu SSL tests with AWS-LC'
327- runs-on : ${{ matrix.os }}
328- timeout-minutes : 60
329- needs : build-context
330- if : needs.build-context.outputs.run-tests == 'true'
331- strategy :
332- fail-fast : false
333- matrix :
334- os : [ubuntu-24.04]
335- awslc_ver : [1.55.0]
336- env :
337- AWSLC_VER : ${{ matrix.awslc_ver}}
281+ SSL_VER : ${{ matrix.ssl_ver }}
338282 MULTISSL_DIR : ${{ github.workspace }}/multissl
339- OPENSSL_DIR : ${{ github.workspace }}/multissl/aws-lc /${{ matrix.awslc_ver }}
340- LD_LIBRARY_PATH : ${{ github.workspace }}/multissl/aws-lc /${{ matrix.awslc_ver }}/lib
283+ SSL_DIR : ${{ github.workspace }}/multissl/${{ matrix.ssl }} /${{ matrix.ssl_ver }}
284+ LD_LIBRARY_PATH : ${{ github.workspace }}/multissl/${{ matrix.ssl }} /${{ matrix.ssl_ver }}/lib
341285 steps :
342286 - uses : actions/checkout@v4
343287 with :
@@ -356,22 +300,18 @@ jobs:
356300 - name : Configure SSL lib env vars
357301 run : |
358302 echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> "$GITHUB_ENV"
359- echo "OPENSSL_DIR =${GITHUB_WORKSPACE}/multissl/aws-lc /${AWSLC_VER }" >> "$GITHUB_ENV"
360- echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/aws-lc /${AWSLC_VER }/lib" >> "$GITHUB_ENV"
361- - name : ' Restore AWS-LC build'
362- id : cache-aws-lc
303+ echo "SSL_DIR =${GITHUB_WORKSPACE}/multissl/${{ matrix.ssl }} /${SSL_VER }" >> "$GITHUB_ENV"
304+ echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/${{ matrix.ssl }} /${SSL_VER }/lib" >> "$GITHUB_ENV"
305+ - name : ' Restore SSL build'
306+ id : cache-ssl
363307 uses : actions/cache@v4
364308 with :
365- path : ./multissl/aws-lc /${{ matrix.awslc_ver }}
366- key : ${{ matrix.os }}-multissl-aws-lc- ${{ matrix.awslc_ver }}
367- - name : Install AWS-LC
368- if : steps.cache-aws-lc .outputs.cache-hit != 'true'
309+ path : ./multissl/${{ env.SSL }} /${{ env.SSL_VER }}
310+ key : ${{ matrix.os }}-multissl-${{ env.SSL }}- ${{ env.SSL_VER }}
311+ - name : Install SSL
312+ if : steps.cache-ssl .outputs.cache-hit != 'true'
369313 run : |
370- python3 Tools/ssl/multissltests.py \
371- --steps=library \
372- --base-directory "$MULTISSL_DIR" \
373- --awslc ${{ matrix.awslc_ver }} \
374- --system Linux
314+ python3 Tools/ssl/multissltests.py --steps=library --base-directory "$MULTISSL_DIR" --system Linux --ssl ${{ matrix.ssl }} --ssl-versions ${{ matrix.ssl_ver }}
375315 - name : Add ccache to PATH
376316 run : |
377317 echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV"
@@ -381,18 +321,18 @@ jobs:
381321 save : false
382322 - name : Configure CPython
383323 run : |
384- ./configure CFLAGS="-fdiagnostics-format=json" \
385- --config-cache \
386- --enable-slower-safety \
387- --with-pydebug \
388- --with-openssl="$OPENSSL_DIR" \
389- --with-builtin-hashlib-hashes=blake2 \
390- --with-ssl-default-suites=openssl
324+ CMD=(./configure CFLAGS="-fdiagnostics-format=json" --config-cache --enable-slower-safety --with-pydebug --with-openssl="$SSL_DIR")
325+ if [ "${{ matrix.ssl }}" = "openssl" ]; then
326+ "${CMD[@]}"
327+ else
328+ "${CMD[@]}" --with-builtin-hashlib-hashes=blake2 --with-ssl-default-suites=openssl
329+ fi
391330 - name : Build CPython
392- run : make -j
331+ run : make -j4
393332 - name : Display build info
394333 run : make pythoninfo
395334 - name : Verify python is linked to AWS-LC
335+ if : matrix.ssl == 'aws-lc'
396336 run : ./python -c 'import ssl; print(ssl.OPENSSL_VERSION)' | grep AWS-LC
397337 - name : SSL tests
398338 run : ./python Lib/test/ssltests.py
@@ -435,7 +375,7 @@ jobs:
435375 key : ${{ runner.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
436376 - name : Install OpenSSL
437377 if : steps.cache-openssl.outputs.cache-hit != 'true'
438- run : python3 Tools/ssl/multissltests.py --steps=library --base-directory "$MULTISSL_DIR" --openssl "$OPENSSL_VER" --system Linux
378+ run : python3 Tools/ssl/multissltests.py --steps=library --base-directory "$MULTISSL_DIR" --ssl ' openssl' --ssl-versions "$OPENSSL_VER" --system Linux
439379 - name : Add ccache to PATH
440380 run : |
441381 echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV"
@@ -567,7 +507,7 @@ jobs:
567507 key : ${{ matrix.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
568508 - name : Install OpenSSL
569509 if : steps.cache-openssl.outputs.cache-hit != 'true'
570- run : python3 Tools/ssl/multissltests.py --steps=library --base-directory "$MULTISSL_DIR" --openssl "$OPENSSL_VER" --system Linux
510+ run : python3 Tools/ssl/multissltests.py --steps=library --base-directory "$MULTISSL_DIR" --ssl ' openssl' --ssl-versions "$OPENSSL_VER" --system Linux
571511 - name : Add ccache to PATH
572512 run : |
573513 echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV"
@@ -703,8 +643,7 @@ jobs:
703643 - build-windows-msi
704644 - build-macos
705645 - build-ubuntu
706- - build-ubuntu-ssltests-awslc
707- - build-ubuntu-ssltests-openssl
646+ - build-ubuntu-ssltests
708647 - build-wasi
709648 - test-hypothesis
710649 - build-asan
@@ -719,8 +658,7 @@ jobs:
719658 with :
720659 allowed-failures : >-
721660 build-windows-msi,
722- build-ubuntu-ssltests-awslc,
723- build-ubuntu-ssltests-openssl,
661+ build-ubuntu-ssltests,
724662 test-hypothesis,
725663 cifuzz,
726664 allowed-skips : >-
@@ -738,8 +676,7 @@ jobs:
738676 check-generated-files,
739677 build-macos,
740678 build-ubuntu,
741- build-ubuntu-ssltests-awslc,
742- build-ubuntu-ssltests-openssl,
679+ build-ubuntu-ssltests,
743680 build-wasi,
744681 test-hypothesis,
745682 build-asan,
0 commit comments