@@ -260,7 +260,7 @@ jobs:
260260 free-threading : ${{ matrix.free-threading }}
261261 os : ${{ matrix.os }}
262262
263- build-ubuntu-ssltests :
263+ build-ubuntu-ssltests-openssl :
264264 name : ' Ubuntu SSL tests with OpenSSL'
265265 runs-on : ${{ matrix.os }}
266266 timeout-minutes : 60
@@ -322,6 +322,81 @@ jobs:
322322 - name : SSL tests
323323 run : ./python Lib/test/ssltests.py
324324
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}}
338+ 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
341+ steps :
342+ - uses : actions/checkout@v4
343+ with :
344+ persist-credentials : false
345+ - name : Runner image version
346+ run : echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
347+ - name : Restore config.cache
348+ uses : actions/cache@v4
349+ with :
350+ path : config.cache
351+ key : ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ needs.build-context.outputs.config-hash }}
352+ - name : Register gcc problem matcher
353+ run : echo "::add-matcher::.github/problem-matchers/gcc.json"
354+ - name : Install dependencies
355+ run : sudo ./.github/workflows/posix-deps-apt.sh
356+ - name : Configure SSL lib env vars
357+ run : |
358+ 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
363+ uses : actions/cache@v4
364+ 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'
369+ run : |
370+ python3 Tools/ssl/multissltests.py \
371+ --steps=library \
372+ --base-directory "$MULTISSL_DIR" \
373+ --awslc ${{ matrix.awslc_ver }} \
374+ --system Linux
375+ - name : Add ccache to PATH
376+ run : |
377+ echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV"
378+ - name : Configure ccache action
379+ uses :
hendrikmuhs/[email protected] 380+ with :
381+ save : false
382+ - name : Configure CPython
383+ 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
391+ - name : Build CPython
392+ run : make -j
393+ - name : Display build info
394+ run : make pythoninfo
395+ - name : Verify python is linked to AWS-LC
396+ run : ./python -c 'import ssl; print(ssl.OPENSSL_VERSION)' | grep AWS-LC
397+ - name : SSL tests
398+ run : ./python Lib/test/ssltests.py
399+
325400 build-wasi :
326401 name : ' WASI'
327402 needs : build-context
@@ -628,7 +703,8 @@ jobs:
628703 - build-windows-msi
629704 - build-macos
630705 - build-ubuntu
631- - build-ubuntu-ssltests
706+ - build-ubuntu-ssltests-awslc
707+ - build-ubuntu-ssltests-openssl
632708 - build-wasi
633709 - test-hypothesis
634710 - build-asan
@@ -643,7 +719,8 @@ jobs:
643719 with :
644720 allowed-failures : >-
645721 build-windows-msi,
646- build-ubuntu-ssltests,
722+ build-ubuntu-ssltests-awslc,
723+ build-ubuntu-ssltests-openssl,
647724 test-hypothesis,
648725 cifuzz,
649726 allowed-skips : >-
@@ -661,7 +738,8 @@ jobs:
661738 check-generated-files,
662739 build-macos,
663740 build-ubuntu,
664- build-ubuntu-ssltests,
741+ build-ubuntu-ssltests-awslc,
742+ build-ubuntu-ssltests-openssl,
665743 build-wasi,
666744 test-hypothesis,
667745 build-asan,
0 commit comments