@@ -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, 
649726allowed-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