@@ -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 
@@ -510,31 +585,31 @@ jobs:
510585    - name : Tests 
511586      run : xvfb-run make ci 
512587
513-   build-tsan :
514-     name : >- 
515-       Thread sanitizer 
516-       ${{ fromJSON(matrix.free-threading) && '(free-threading)' || '' }} 
588+   build-san :
589+     name : >-  #  ${{ '' } is a hack to nest jobs under the same sidebar category 
590+       Sanitizers${{ '' }} 
517591needs : build-context 
518592    if : needs.build-context.outputs.run-tests == 'true' 
519593    strategy :
520594      fail-fast : false 
521595      matrix :
596+         check-name :
597+         - Thread 
522598        free-threading :
523599        - false 
524600        - true 
525-     uses : ./.github/workflows/reusable-tsan.yml 
601+         sanitizer :
602+         - TSan 
603+         include :
604+         - check-name : Undefined behavior 
605+           sanitizer : UBSan 
606+           free-threading : false 
607+     uses : ./.github/workflows/reusable-san.yml 
526608    with :
609+       sanitizer : ${{ matrix.sanitizer }} 
527610      config_hash : ${{ needs.build-context.outputs.config-hash }} 
528611      free-threading : ${{ matrix.free-threading }} 
529612
530-   build-ubsan :
531-     name : Undefined behavior sanitizer 
532-     needs : build-context 
533-     if : needs.build-context.outputs.run-tests == 'true' 
534-     uses : ./.github/workflows/reusable-ubsan.yml 
535-     with :
536-       config_hash : ${{ needs.build-context.outputs.config-hash }} 
537- 
538613  cross-build-linux :
539614    name : Cross build Linux 
540615    runs-on : ubuntu-latest 
@@ -628,11 +703,12 @@ 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 
635-     - build-tsan  
711+     - build-san  
636712    - cross-build-linux 
637713    - cifuzz 
638714    if : always() 
@@ -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,11 +738,12 @@ 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, 
668-             build-tsan , 
746+             build-san , 
669747            cross-build-linux, 
670748            ' 
671749            || '' 
0 commit comments