From fa676e9e2ba5779ba3fdd1e6081c4c82fe129b08 Mon Sep 17 00:00:00 2001 From: Sean McGrail Date: Tue, 14 Oct 2025 02:26:58 +0000 Subject: [PATCH 1/2] Transition to new docker images --- .github/workflows/integration_omnibus.yml | 168 +++--- .../workflows/linux-multi-arch-omnibus.yml | 516 ++++++++++++++++++ .github/workflows/linux_arm_omnibus.yml | 325 ++--------- .github/workflows/linux_x86_omnibus.yml | 416 +++----------- 4 files changed, 751 insertions(+), 674 deletions(-) create mode 100644 .github/workflows/linux-multi-arch-omnibus.yml diff --git a/.github/workflows/integration_omnibus.yml b/.github/workflows/integration_omnibus.yml index f180607c003..e8cdd8f5327 100644 --- a/.github/workflows/integration_omnibus.yml +++ b/.github/workflows/integration_omnibus.yml @@ -16,7 +16,6 @@ jobs: - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} image:${{ matrix.arch == 'x86_64' && 'linux-5.0' || matrix.arch == 'aarch64' && 'arm-3.0' }} instance-size:${{ matrix.size }} - buildspec-override:true strategy: fail-fast: false matrix: @@ -25,51 +24,59 @@ jobs: - name: s2n-tls arch: x86_64 size: small - image: ubuntu-20.04_clang-9x_latest + image: ubuntu:20.04 + compiler: clang-9 run: ./tests/ci/integration/run_s2n_integration.sh # AWS Common Runtime (CRT) Integration Tests - name: aws-crt arch: x86_64 size: small - image: amazonlinux-2023_gcc-11x_latest + image: amazonlinux:2023 + compiler: gcc-11 run: ./tests/ci/integration/run_crt_integration.sh - name: aws-crt arch: aarch64 size: small - image: amazonlinux-2023_gcc-11x_latest + image: amazonlinux:2023 + compiler: gcc-11 run: ./tests/ci/integration/run_crt_integration.sh # libgit2 - name: libgit2 arch: x86_64 size: small - image: ubuntu-22.04_gcc-12x_integration_latest + image: ubuntu:22.04 + compiler: gcc-12 run: ./tests/ci/integration/run_libgit2_integration.sh # OpenSSH Integration Tests - name: openssh-master arch: x86_64 size: small - image: amazonlinux-2023_clang-15x_sanitizer_latest + image: amazonlinux:2023 + compiler: clang-15 openssh_branch: master run: ./tests/ci/integration/run_openssh_integration.sh - name: openssh-v8.9 arch: x86_64 size: small - image: amazonlinux-2023_clang-15x_sanitizer_latest + image: amazonlinux:2023 + compiler: clang-15 openssh_branch: V_8_9 run: ./tests/ci/integration/run_openssh_integration.sh - name: openssh-master arch: aarch64 size: 2xlarge - image: amazonlinux-2023_clang-15x_sanitizer_latest + image: amazonlinux:2023 + compiler: clang-15 openssh_branch: master run: ./tests/ci/integration/run_openssh_integration.sh - name: openssh-v8.9 arch: aarch64 size: 2xlarge - image: amazonlinux-2023_clang-15x_sanitizer_latest + image: amazonlinux:2023 + compiler: clang-15 openssh_branch: V_8_9 run: ./tests/ci/integration/run_openssh_integration.sh @@ -77,13 +84,15 @@ jobs: - name: postgresql arch: x86_64 size: medium - image: ubuntu-22.04_gcc-12x_latest + image: ubuntu:22.04 + compiler: gcc-12 user: postgres run: ./tests/ci/integration/run_postgres_integration.sh - name: postgresql arch: aarch64 size: large - image: ubuntu-22.04_gcc-12x_latest + image: ubuntu:22.04 + compiler: gcc-12 user: postgres run: ./tests/ci/integration/run_postgres_integration.sh @@ -91,14 +100,16 @@ jobs: - name: mysql arch: x86_64 size: 2xlarge - image: ubuntu-22.04_gcc-12x_latest + image: ubuntu:22.04 + compiler: gcc-12 credentials: true user: postgres run: ./tests/ci/integration/run_mysql_integration.sh - name: mysql arch: aarch64 size: 2xlarge - image: ubuntu-22.04_gcc-12x_latest + image: ubuntu:22.04 + compiler: gcc-12 credentials: true user: postgres run: ./tests/ci/integration/run_mysql_integration.sh @@ -107,25 +118,29 @@ jobs: - name: mariadb arch: x86_64 size: 2xlarge - image: ubuntu-22.04_gcc-12x_latest + image: ubuntu:22.04 + compiler: gcc-12 run: ./tests/ci/integration/run_mariadb_integration.sh - name: mariadb arch: aarch64 size: 2xlarge - image: ubuntu-22.04_gcc-12x_latest + image: ubuntu:22.04 + compiler: gcc-12 run: ./tests/ci/integration/run_mariadb_integration.sh # Curl Integration Tests - name: curl arch: x86_64 size: medium - image: ubuntu-22.04_gcc-11x_latest + image: ubuntu:22.04 + compiler: gcc-11 ipv6: true run: ./tests/ci/integration/run_curl_integration.sh - name: curl arch: aarch64 size: large - image: ubuntu-22.04_gcc-11x_latest + image: ubuntu:22.04 + compiler: gcc-11 ipv6: true run: ./tests/ci/integration/run_curl_integration.sh @@ -133,13 +148,15 @@ jobs: - name: nginx arch: x86_64 size: medium - image: ubuntu-22.04_gcc-12x_latest + image: ubuntu:22.04 + compiler: gcc-12 user: postgres run: ./tests/ci/integration/run_nginx_integration.sh - name: nginx arch: aarch64 size: large - image: ubuntu-22.04_gcc-12x_latest + image: ubuntu:22.04 + compiler: gcc-12 user: postgres run: ./tests/ci/integration/run_nginx_integration.sh @@ -147,19 +164,22 @@ jobs: - name: sslproxy arch: x86_64 size: medium - image: ubuntu-22.04_gcc-12x_latest + image: ubuntu:22.04 + compiler: gcc-12 run: ./tests/ci/integration/run_sslproxy_integration.sh - name: sslproxy arch: aarch64 size: large - image: ubuntu-22.04_gcc-12x_latest + image: ubuntu:22.04 + compiler: gcc-12 run: ./tests/ci/integration/run_sslproxy_integration.sh # Monit Integration Tests - name: monit arch: x86_64 size: small - image: ubuntu-22.04_gcc-12x_latest + image: ubuntu:22.04 + compiler: gcc-12 credentials: true run: ./tests/ci/integration/run_monit_integration.sh @@ -167,81 +187,93 @@ jobs: - name: librelp arch: x86_64 size: small - image: ubuntu-22.04_gcc-12x_latest + image: ubuntu:22.04 + compiler: gcc-12 run: ./tests/ci/integration/run_librelp_integration.sh # HAProxy Integration Tests - name: haproxy arch: x86_64 size: small - image: ubuntu-22.04_gcc-12x_integration_latest + image: ubuntu:22.04 + compiler: gcc-12 run: ./tests/ci/integration/run_haproxy_integration.sh # Trousers Integration Tests - name: trousers arch: x86_64 size: small - image: ubuntu-22.04_gcc-12x_integration_latest + image: ubuntu:22.04 + compiler: gcc-12 run: ./tests/ci/integration/run_trousers_integration.sh # NTP Integration Tests - name: ntp arch: x86_64 size: small - image: ubuntu-22.04_gcc-12x_integration_latest + image: ubuntu:22.04 + compiler: gcc-12 run: ./tests/ci/integration/run_ntp_integration.sh # PQ TLS Integration Tests - name: pq-tls arch: x86_64 size: medium - image: ubuntu-22.04_gcc-12x_latest + image: ubuntu:22.04 + compiler: gcc-12 run: ./tests/ci/integration/run_pq_tls_integration.sh # tpm2-tss Integration Tests - name: tpm2-tss arch: x86_64 size: small - image: ubuntu-22.04_gcc-12x_integration_latest + image: ubuntu:22.04 + compiler: gcc-12 run: ./tests/ci/integration/run_tpm2_tss_integration.sh # tcpdump Integration Tests - name: tcpdump arch: x86_64 size: small - image: ubuntu-22.04_gcc-12x_integration_latest + image: ubuntu:22.04 + compiler: gcc-12 run: ./tests/ci/integration/run_tcpdump_integration.sh # OpenLDAP Integration Tests - name: openldap-master arch: x86_64 size: medium - image: ubuntu-22.04_gcc-12x_integration_latest + image: ubuntu:22.04 + compiler: gcc-12 run: ./tests/ci/integration/run_openldap_integration.sh master - name: openldap-v2.5 arch: x86_64 size: medium - image: ubuntu-22.04_gcc-12x_integration_latest + image: ubuntu:22.04 + compiler: gcc-12 run: ./tests/ci/integration/run_openldap_integration.sh OPENLDAP_REL_ENG_2_5 # Cyrus SASL Integration Tests - name: cyrus-sasl arch: x86_64 size: small - image: ubuntu-22.04_gcc-12x_integration_latest + image: ubuntu:22.04 + compiler: gcc-12 run: ./tests/ci/integration/run_cyrus_sasl_integration.sh # Amazon Corretto Crypto Provider Integration Tests - name: accp arch: x86_64 size: 2xlarge - image: ubuntu-22.04_gcc-12x_integration_latest + image: ubuntu:22.04 + compiler: gcc-12 accp_fips: false run: ./tests/ci/integration/run_accp_integration.sh - name: accp-fips arch: x86_64 size: 2xlarge - image: ubuntu-22.04_gcc-12x_integration_latest + image: ubuntu:22.04 + compiler: gcc-12 accp_fips: true run: ./tests/ci/integration/run_accp_integration.sh @@ -249,28 +281,32 @@ jobs: - name: nmap arch: x86_64 size: medium - image: ubuntu-22.04_gcc-12x_integration_latest + image: ubuntu:22.04 + compiler: gcc-12 run: ./tests/ci/integration/run_nmap_integration.sh # IBM TPM Integration Tests - name: ibmtpm arch: x86_64 size: medium - image: ubuntu-22.04_gcc-12x_integration_latest + image: ubuntu:22.04 + compiler: gcc-12 run: ./tests/ci/integration/run_ibmtpm_integration.sh # libwebsockets Integration Tests - name: libwebsockets arch: x86_64 size: medium - image: ubuntu-22.04_gcc-12x_integration_latest + image: ubuntu:22.04 + compiler: gcc-12 run: ./tests/ci/integration/run_libwebsockets_integration.sh # GRPC Integration Tests - name: grpc arch: x86_64 size: 2xlarge - image: ubuntu-22.04_gcc-12x_integration_latest + image: ubuntu:22.04 + compiler: gcc-12 ipv6: true run: ./tests/ci/integration/run_grpc_integration.sh @@ -278,7 +314,8 @@ jobs: - name: bind9 arch: x86_64 size: medium - image: ubuntu-22.04_gcc-12x_integration_latest + image: ubuntu:22.04 + compiler: gcc-12 ipv6: true options: --privileged run: ./tests/ci/integration/run_bind9_integration.sh @@ -287,7 +324,8 @@ jobs: - name: strongswan arch: x86_64 size: small - image: ubuntu-22.04_gcc-12x_integration_latest + image: ubuntu:22.04 + compiler: gcc-12 ipv6: true run: ./tests/ci/integration/run_strongswan_integration.sh @@ -295,13 +333,15 @@ jobs: - name: openvpn-master arch: x86_64 size: medium - image: ubuntu-22.04_gcc-12x_integration_latest + image: ubuntu:22.04 + compiler: gcc-12 ipv6: true run: ./tests/ci/integration/run_openvpn_integration.sh master - name: openvpn-v2.6 arch: x86_64 size: medium - image: ubuntu-22.04_gcc-12x_integration_latest + image: ubuntu:22.04 + compiler: gcc-12 ipv6: true run: ./tests/ci/integration/run_openvpn_integration.sh release/2.6 @@ -309,7 +349,8 @@ jobs: - name: xmlsec arch: x86_64 size: medium - image: ubuntu-22.04_gcc-12x_integration_latest + image: ubuntu:22.04 + compiler: gcc-12 options: --privileged run: ./tests/ci/integration/run_xmlsec_integration.sh @@ -317,20 +358,21 @@ jobs: - name: xtrabackup arch: x86_64 size: large - image: ubuntu-22.04_gcc-12x_integration_latest + image: ubuntu:22.04 + compiler: gcc-12 run: ./tests/ci/integration/run_xtrabackup_integration.sh env: OPENSSH_BRANCH: ${{ matrix.openssh_branch || '' }} ACCP_FIPS: ${{ matrix.accp_fips || '' }} steps: - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo repo=${{ matrix.arch == 'x86_64' && '${AWS_ECR_REPO_LINUX_X86}' || matrix.arch == 'aarch64' && '${AWS_ECR_REPO_LINUX_AARCH}' }} >> "$GITHUB_OUTPUT" + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v2 - uses: ./.github/actions/codebuild-docker-run name: Run Container with: - image: ${{ steps.ecr.outputs.repo }}:${{ matrix.image }} + image: ${{ steps.login-ecr.outputs.registry }}/aws-lc/${{ matrix.image }} env: | OPENSSH_BRANCH ACCP_FIPS @@ -338,7 +380,9 @@ jobs: user: ${{ matrix.user || '' }} ipv6: ${{ matrix.ipv6 || false }} withCredentials: ${{ matrix.credentials || false }} - run: ${{ matrix.run }} + run: | + source /opt/compiler-env/setup-${{ matrix.compiler }}.sh + ${{ matrix.run }} python: name: python-${{ matrix.version }}${{ matrix.buildFIPS == 1 && '-fips' || '' }}-${{ matrix.crtUseSystemCrypto == 1 && 'crt-vendored-crypto' || 'crt-system-crypto' }}-${{ matrix.arch }} @@ -346,7 +390,6 @@ jobs: - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} image:linux-5.0 instance-size:medium - buildspec-override:true strategy: fail-fast: false matrix: @@ -370,18 +413,20 @@ jobs: AWS_CRT_BUILD_USE_SYSTEM_LIBCRYPTO: ${{ matrix.crtUseSystemCrypto }} steps: - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo repo=${{ matrix.arch == 'x86_64' && '${AWS_ECR_REPO_LINUX_X86}' || matrix.arch == 'aarch64' && '${AWS_ECR_REPO_LINUX_AARCH}' }} >> "$GITHUB_OUTPUT" + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v2 - uses: ./.github/actions/codebuild-docker-run name: Run Container with: - image: ${{ steps.ecr.outputs.repo }}:ubuntu-22.04_gcc-12x_integration_latest + image: ${{ steps.login-ecr.outputs.registry }}/aws-lc/ubuntu:22.04 env: | FIPS AWS_CRT_BUILD_USE_SYSTEM_LIBCRYPTO ipv6: true - run: ./tests/ci/integration/run_python_integration.sh ${{ matrix.version }} + run: | + source /opt/compiler-env/setup-gcc-12.sh + ./tests/ci/integration/run_python_integration.sh ${{ matrix.version }} ruby: name: ruby-${{ matrix.version }}${{ matrix.buildFIPS == 1 && '-fips' || '' }}-${{ matrix.arch }} @@ -389,7 +434,6 @@ jobs: - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} image:linux-5.0 instance-size:medium - buildspec-override:true strategy: fail-fast: false matrix: @@ -404,14 +448,16 @@ jobs: FIPS: ${{ matrix.buildFIPS }} steps: - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo repo=${{ matrix.arch == 'x86_64' && '${AWS_ECR_REPO_LINUX_X86}' || matrix.arch == 'aarch64' && '${AWS_ECR_REPO_LINUX_AARCH}' }} >> "$GITHUB_OUTPUT" + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v2 - uses: ./.github/actions/codebuild-docker-run name: Run Container with: - image: ${{ steps.ecr.outputs.repo }}:ubuntu-22.04_gcc-12x_integration_latest + image: ${{ steps.login-ecr.outputs.registry }}/aws-lc/ubuntu:22.04 env: | FIPS ipv6: true - run: ./tests/ci/integration/run_ruby_integration.sh ${{ matrix.version }} + run: | + source /opt/compiler-env/setup-gcc-12.sh + ./tests/ci/integration/run_ruby_integration.sh ${{ matrix.version }} diff --git a/.github/workflows/linux-multi-arch-omnibus.yml b/.github/workflows/linux-multi-arch-omnibus.yml new file mode 100644 index 00000000000..5c79e0f938c --- /dev/null +++ b/.github/workflows/linux-multi-arch-omnibus.yml @@ -0,0 +1,516 @@ +name: linux-multi-arch-omnibus +on: + push: + branches: ["*"] + pull_request: + branches: ["*"] +concurrency: + group: ${{ github.workflow }}-${{ github.ref_name }} + cancel-in-progress: true +env: + GOPROXY: https://proxy.golang.org,direct +jobs: + posix_tests: + name: posix-tests-${{ matrix.image }}-${{ matrix.compiler }}-${{ (matrix.arch == 'x86_64' && matrix.build32 && 'x86') || matrix.arch }} + runs-on: + - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} + image:${{ matrix.arch == 'x86_64' && 'linux-5.0' || matrix.arch == 'aarch64' && 'arm-3.0' }} + instance-size:large + strategy: + fail-fast: false + matrix: + include: + # AmazonLinux 2 (x86_64) + - image: amazonlinux:2 + arch: x86_64 + compiler: clang-11 + - image: amazonlinux:2 + arch: x86_64 + compiler: gcc-7 + # AmazonLinux 2 (aarch64) + - image: amazonlinux:2 + arch: aarch64 + compiler: clang-11 + - image: amazonlinux:2 + arch: aarch64 + compiler: gcc-7 + + # AmazonLinux 2023 (x86_64) + - image: amazonlinux:2023 + arch: x86_64 + compiler: clang-15 + - image: amazonlinux:2023 + arch: x86_64 + compiler: gcc-11 + # AmazonLinux 2023 (aarch64) + - image: amazonlinux:2023 + arch: aarch64 + compiler: clang-15 + - image: amazonlinux:2023 + arch: aarch64 + compiler: gcc-11 + + # CentOS 7 (x86_64, x86) + - image: centos:7 + arch: x86_64 + compiler: gcc-4 + build32: 0 + - image: centos:7 + arch: x86_64 + compiler: gcc-4 + build32: 1 + + # CentOS 8 (x86_64) + - image: centos:8 + arch: x86_64 + compiler: gcc-8 + + # Fedora 31 (x86_64) + - image: fedora:31 + arch: x86_64 + compiler: clang-9 + + # Ubuntu 16.04 (x86_64, x86) + - image: ubuntu:16.04 + arch: x86_64 + compiler: gcc-5 + build32: 0 + - image: ubuntu:16.04 + compiler: gcc-5 + arch: x86_64 + build32: 1 + + # Ubuntu 18.04 (x86_64) + - image: ubuntu:18.04 + arch: x86_64 + compiler: clang-6 + - image: ubuntu:18.04 + arch: x86_64 + compiler: gcc-7 + + # Ubuntu 20.04 (x86_64) + - image: ubuntu:20.04 + arch: x86_64 + compiler: clang-7 + - image: ubuntu:20.04 + arch: x86_64 + compiler: clang-8 + - image: ubuntu:20.04 + arch: x86_64 + compiler: clang-9 + - image: ubuntu:20.04 + arch: x86_64 + compiler: clang-10 + - image: ubuntu:20.04 + arch: x86_64 + compiler: gcc-7 + - image: ubuntu:20.04 + arch: x86_64 + compiler: gcc-8 + + # Ubuntu 20.04 (aarch64) + - image: ubuntu:20.04 + arch: aarch64 + compiler: clang-7 + - image: ubuntu:20.04 + arch: aarch64 + compiler: clang-8 + - image: ubuntu:20.04 + arch: aarch64 + compiler: clang-9 + - image: ubuntu:20.04 + arch: aarch64 + compiler: clang-10 + - image: ubuntu:20.04 + arch: aarch64 + compiler: gcc-7 + - image: ubuntu:20.04 + arch: aarch64 + compiler: gcc-8 + + # Ubuntu 22.04 (x86_64) + - image: ubuntu:22.04 + arch: x86_64 + compiler: gcc-10 + - image: ubuntu:22.04 + arch: x86_64 + compiler: gcc-11 + - image: ubuntu:22.04 + arch: x86_64 + compiler: gcc-12 + + # Ubuntu 22.04 (aarch64) + - image: ubuntu:22.04 + arch: aarch64 + compiler: gcc-10 + - image: ubuntu:22.04 + arch: aarch64 + compiler: gcc-11 + - image: ubuntu:22.04 + arch: aarch64 + compiler: gcc-12 + steps: + - uses: actions/checkout@v5 + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v2 + - uses: ./.github/actions/codebuild-docker-run + name: Run Container (${{ matrix.image }}) + env: + AWSLC_32BIT: ${{ matrix.build32 || 0 }} + with: + image: ${{ steps.login-ecr.outputs.registry }}/aws-lc/${{ matrix.image }} + env: | + AWSLC_32BIT + run: | + source /opt/compiler-env/setup-${{ matrix.compiler }}.sh + ./tests/ci/run_posix_tests.sh + + fips_tests: + name: ${{ matrix.enableASAN && 'asan-' || '' }}fips-tests-${{ matrix.image }}-${{ matrix.compiler }}-${{ matrix.arch }} + runs-on: + - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} + image:${{ matrix.arch == 'x86_64' && 'linux-5.0' || matrix.arch == 'aarch64' && 'arm-3.0' }} + instance-size:large + strategy: + fail-fast: false + matrix: + include: + # AmazonLinux 2 (x86_64) + - image: amazonlinux:2 + arch: x86_64 + compiler: clang-11 + - image: amazonlinux:2 + arch: x86_64 + compiler: gcc-7 + # AmazonLinux 2 (aarch64) + - image: amazonlinux:2 + arch: aarch64 + compiler: clang-11 + - image: amazonlinux:2 + arch: aarch64 + compiler: gcc-7 + + # AmazonLinux 2023 (x86_64) + - image: amazonlinux:2023 + arch: x86_64 + compiler: clang-15 + - image: amazonlinux:2023 + arch: x86_64 + compiler: gcc-11 + # AmazonLinux 2023 (aarch64) + - image: amazonlinux:2023 + arch: aarch64 + compiler: clang-15 + - image: amazonlinux:2023 + arch: aarch64 + compiler: gcc-11 + + # CentOS 7 (x86_64, x86) + - image: centos:7 + arch: x86_64 + compiler: gcc-4 + + # CentOS 8 (x86_64) + - image: centos:8 + arch: x86_64 + compiler: gcc-8 + + # Ubuntu 18.04 (x86_64) + - image: ubuntu:18.04 + arch: x86_64 + compiler: clang-6 + - image: ubuntu:18.04 + arch: x86_64 + compiler: gcc-7 + + # Ubuntu 20.04 (x86_64) + - image: ubuntu:20.04 + arch: x86_64 + compiler: clang-7 + enableASAN: 0 + - image: ubuntu:20.04 + arch: x86_64 + compiler: clang-7 + enableASAN: 1 + - image: ubuntu:20.04 + arch: x86_64 + compiler: clang-8 + - image: ubuntu:20.04 + arch: x86_64 + compiler: clang-9 + - image: ubuntu:20.04 + arch: x86_64 + compiler: clang-10 + - image: ubuntu:20.04 + arch: x86_64 + compiler: gcc-7 + - image: ubuntu:20.04 + arch: x86_64 + compiler: gcc-8 + + # Ubuntu 20.04 (aarch64) + - image: ubuntu:20.04 + arch: aarch64 + compiler: clang-7 + enableASAN: 0 + - image: ubuntu:20.04 + arch: aarch64 + compiler: clang-7 + enableASAN: 1 + goTestTimeout: 120m + - image: ubuntu:20.04 + arch: aarch64 + compiler: clang-8 + - image: ubuntu:20.04 + arch: aarch64 + compiler: clang-9 + - image: ubuntu:20.04 + arch: aarch64 + compiler: clang-10 + - image: ubuntu:20.04 + arch: aarch64 + compiler: gcc-7 + - image: ubuntu:20.04 + arch: aarch64 + compiler: gcc-8 + + # Ubuntu 22.04 (x86_64) + - image: ubuntu:22.04 + arch: x86_64 + compiler: gcc-10 + - image: ubuntu:22.04 + arch: x86_64 + compiler: gcc-11 + - image: ubuntu:22.04 + arch: x86_64 + compiler: gcc-12 + + # Ubuntu 22.04 (aarch64) + - image: ubuntu:22.04 + arch: aarch64 + compiler: gcc-10 + - image: ubuntu:22.04 + arch: aarch64 + compiler: gcc-11 + - image: ubuntu:22.04 + arch: aarch64 + compiler: gcc-12 + env: + AWSLC_ENABLE_FIPS_ASAN: ${{ matrix.enableASAN }} + steps: + - uses: actions/checkout@v5 + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v2 + - uses: ./.github/actions/codebuild-docker-run + name: Run Container (${{ matrix.image }}) + with: + image: ${{ steps.login-ecr.outputs.registry }}/aws-lc/${{ matrix.image }} + env: | + AWSLC_ENABLE_FIPS_ASAN + run: | + source /opt/compiler-env/setup-${{ matrix.compiler }}.sh + if [[ "${{ matrix.goTestTimeout }}z" != "z" ]]; then + export AWS_LC_GO_TEST_TIMEOUT="${{ matrix.goTestTimeout }}" + fi + ./tests/ci/run_fips_tests.sh + + prefix_tests: + name: prefix-tests-${{ matrix.image }}-${{ matrix.compiler }}-${{ matrix.arch }} + runs-on: + - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} + image:${{ matrix.arch == 'x86_64' && 'linux-5.0' || matrix.arch == 'aarch64' && 'arm-3.0' }} + instance-size:large + strategy: + fail-fast: false + matrix: + arch: [x86_64, aarch64] + include: + - image: amazonlinux:2 + compiler: clang-11 + - image: ubuntu:22.04 + compiler: gcc-11 + steps: + - uses: actions/checkout@v5 + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v2 + - uses: ./.github/actions/codebuild-docker-run + name: Run Container (${{ matrix.image }}) + with: + image: ${{ steps.login-ecr.outputs.registry }}/aws-lc/${{ matrix.image }} + run: | + source /opt/compiler-env/setup-${{ matrix.compiler }}.sh + ./tests/ci/run_prefix_tests.sh + + valgrind: + name: valgrind-${{ matrix.arch }} + runs-on: + - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} + image:${{ matrix.arch == 'x86_64' && 'linux-5.0' || matrix.arch == 'aarch64' && 'arm-3.0' }} + instance-size:large + env: + AWS_LC_GO_TEST_TIMEOUT: 60m + strategy: + fail-fast: false + matrix: + arch: [x86_64, aarch64] + steps: + - uses: actions/checkout@v5 + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v2 + - uses: ./.github/actions/codebuild-docker-run + name: Run Container + with: + image: ${{ steps.login-ecr.outputs.registry }}/aws-lc/amazonlinux:2023 + env: | + AWS_LC_GO_TEST_TIMEOUT + run: | + source /opt/compiler-env/setup-gcc-11.sh + ./tests/ci/run_valgrind_tests.sh + + valgrind-ssl-runner-part1: + name: valgrind-ssl-runner-part1-${{ matrix.arch }} + runs-on: + - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} + image:${{ matrix.arch == 'x86_64' && 'linux-5.0' || matrix.arch == 'aarch64' && 'arm-3.0' }} + instance-size:${{ matrix.arch == 'x86_64' && '2xlarge' || 'large' }} + env: + AWS_LC_GO_TEST_TIMEOUT: 60m + AWS_LC_SSL_RUNNER_END_INDEX: 4000 + strategy: + fail-fast: false + matrix: + arch: [x86_64, aarch64] + steps: + - uses: actions/checkout@v5 + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v2 + - uses: ./.github/actions/codebuild-docker-run + name: Run Container + with: + image: ${{ steps.login-ecr.outputs.registry }}/aws-lc/amazonlinux:2023 + env: | + AWS_LC_GO_TEST_TIMEOUT + AWS_LC_SSL_RUNNER_END_INDEX + options: --privileged + run: | + source /opt/compiler-env/setup-gcc-11.sh + ./tests/ci/run_ssl_runner_valgrind_tests.sh + + valgrind-ssl-runner-part2: + name: valgrind-ssl-runner-part2-${{ matrix.arch }} + runs-on: + - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} + image:${{ matrix.arch == 'x86_64' && 'linux-5.0' || matrix.arch == 'aarch64' && 'arm-3.0' }} + instance-size:${{ matrix.arch == 'x86_64' && '2xlarge' || 'large' }} + env: + AWS_LC_GO_TEST_TIMEOUT: 60m + AWS_LC_SSL_RUNNER_START_INDEX: 4001 + strategy: + fail-fast: false + matrix: + arch: [x86_64, aarch64] + steps: + - uses: actions/checkout@v5 + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v2 + - name: Get ECR Repoistory URL + id: ecr + run: echo AWS_ECR_REPO_LINUX_X86=${AWS_ECR_REPO_LINUX_X86} >> "$GITHUB_OUTPUT" + - uses: ./.github/actions/codebuild-docker-run + name: Run Container + with: + image: ${{ steps.login-ecr.outputs.registry }}/aws-lc/amazonlinux:2023 + env: | + AWS_LC_GO_TEST_TIMEOUT + AWS_LC_SSL_RUNNER_START_INDEX + options: --privileged + run: | + source /opt/compiler-env/setup-gcc-11.sh + ./tests/ci/run_ssl_runner_valgrind_tests.sh + + sanitizers: + name: sanitizers-${{ matrix.arch }} + runs-on: + - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} + image:${{ matrix.arch == 'x86_64' && 'linux-5.0' || matrix.arch == 'aarch64' && 'arm-3.0' }} + instance-size:large + env: + # Sanitizer is very slow on ARM. + # https://github.com/google/sanitizers/issues/1331 + AWS_LC_GO_TEST_TIMEOUT: ${{ matrix.arch == 'x86_64' && '45m' || '60m' }} + strategy: + fail-fast: false + matrix: + arch: [x86_64, aarch64] + steps: + - uses: actions/checkout@v5 + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v2 + - uses: ./.github/actions/codebuild-docker-run + name: Run Container + with: + image: ${{ steps.login-ecr.outputs.registry }}/aws-lc/amazonlinux:2023 + options: --privileged + env: | + AWS_LC_GO_TEST_TIMEOUT + run: | + source /opt/compiler-env/setup-clang-15.sh + ./tests/ci/run_posix_sanitizers.sh + + benchmark: + name: benchmark-${{ matrix.arch }} + runs-on: + - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} + image:${{ matrix.arch == 'x86_64' && 'linux-5.0' || matrix.arch == 'aarch64' && 'arm-3.0' }} + instance-size:large + strategy: + fail-fast: false + matrix: + arch: [x86_64, aarch64] + steps: + - uses: actions/checkout@v5 + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v2 + - uses: ./.github/actions/codebuild-docker-run + name: Run POSIX tests + with: + image: ${{ steps.login-ecr.outputs.registry }}/aws-lc/amazonlinux:2023 + run: | + source /opt/compiler-env/setup-clang-15.sh + ./tests/ci/run_benchmark_build_tests.sh + + fips_callback: + name: fips-callback-${{ matrix.image }}-${{ matrix.arch }} + runs-on: + - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} + image:${{ matrix.arch == 'x86_64' && 'linux-5.0' || matrix.arch == 'aarch64' && 'arm-3.0' }} + instance-size:large + strategy: + fail-fast: false + matrix: + arch: [x86_64, aarch64] + include: + - image: amazonlinux:2 + compiler: gcc-7 + - image: amazonlinux:2023 + compiler: gcc-11 + steps: + - uses: actions/checkout@v5 + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v2 + - uses: ./.github/actions/codebuild-docker-run + name: Run Container (${{ matrix.image }}) + with: + image: ${{ steps.login-ecr.outputs.registry }}/aws-lc/${{ matrix.image }} + run: | + source /opt/compiler-env/setup-${{ matrix.compiler }}.sh + ./tests/ci/run_fips_callback_tests.sh diff --git a/.github/workflows/linux_arm_omnibus.yml b/.github/workflows/linux_arm_omnibus.yml index 4eae3c17a41..5a2a95ed396 100644 --- a/.github/workflows/linux_arm_omnibus.yml +++ b/.github/workflows/linux_arm_omnibus.yml @@ -10,375 +10,126 @@ concurrency: env: GOPROXY: https://proxy.golang.org,direct jobs: - posix_tests: - name: posix-tests-${{ matrix.image }}-${{ matrix.build32 && 'x86' || 'x86_64' }} - runs-on: - - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} - image:arm-3.0 - instance-size:large - buildspec-override:true - strategy: - fail-fast: false - matrix: - image: - - amazonlinux-2_clang-7x_latest - - amazonlinux-2_gcc-7x_latest - - amazonlinux-2023_clang-15x_latest - - amazonlinux-2023_gcc-11x_latest - - ubuntu-20.04_clang-7x_latest - - ubuntu-20.04_clang-8x_latest - - ubuntu-20.04_clang-9x_latest - - ubuntu-20.04_clang-10x_latest - - ubuntu-20.04_gcc-7x_latest - - ubuntu-20.04_gcc-8x_latest - - ubuntu-22.04_gcc-11x_latest - - ubuntu-22.04_gcc-12x_latest - steps: - - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_AARCH=${AWS_ECR_REPO_LINUX_AARCH} >> "$GITHUB_OUTPUT" - - uses: ./.github/actions/codebuild-docker-run - name: Run Container (${{ matrix.image }}) - env: - AWSLC_32BIT: ${{ matrix.build32 || 0 }} - with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_AARCH }}:${{ matrix.image }} - env: | - AWSLC_32BIT - run: | - [[ "${{ matrix.cc }}z" != "z" ]] && export CC="${{ matrix.cc }}" || true - [[ "${{ matrix.cxx }}z" != "z" ]] && export CXX="${{ matrix.cxx }}" || true - ./tests/ci/run_posix_tests.sh - - fips_tests: - name: ${{ matrix.enableASAN && 'asan-' || '' }}fips-tests-${{ matrix.image }} - runs-on: - - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} - image:arm-3.0 - instance-size:large - buildspec-override:true - strategy: - fail-fast: false - matrix: - image: - - amazonlinux-2_clang-7x_latest - - amazonlinux-2_gcc-7x_latest - - amazonlinux-2023_clang-15x_latest - - amazonlinux-2023_gcc-11x_latest - - ubuntu-20.04_clang-8x_latest - - ubuntu-20.04_clang-9x_latest - - ubuntu-20.04_clang-10x_latest - - ubuntu-20.04_gcc-7x_latest - - ubuntu-20.04_gcc-8x_latest - - ubuntu-22.04_gcc-11x_latest - - ubuntu-22.04_gcc-12x_latest - include: - - image: ubuntu-20.04_clang-7x_latest - enableASAN: 1 - goTestTimeout: 120m - env: - AWSLC_ENABLE_FIPS_ASAN: ${{ matrix.enableASAN || 0 }} - steps: - - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_AARCH=${AWS_ECR_REPO_LINUX_AARCH} >> "$GITHUB_OUTPUT" - - uses: ./.github/actions/codebuild-docker-run - name: Run Container (${{ matrix.image }}) - with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_AARCH }}:${{ matrix.image }} - env: | - AWSLC_ENABLE_FIPS_ASAN - run: | - [[ "${{ matrix.goTestTimeout }}z" != "z" ]] && export AWS_LC_GO_TEST_TIMEOUT="${{ matrix.goTestTimeout }}" || true - ./tests/ci/run_fips_tests.sh - - prefix_tests: - name: prefix-tests-${{ matrix.image }} - runs-on: - - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} - image:arm-3.0 - instance-size:large - buildspec-override:true - strategy: - fail-fast: false - matrix: - image: - - amazonlinux-2_gcc-7x_latest - - ubuntu-20.04_clang-10x_latest - steps: - - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_AARCH=${AWS_ECR_REPO_LINUX_AARCH} >> "$GITHUB_OUTPUT" - - uses: ./.github/actions/codebuild-docker-run - name: Run Container (${{ matrix.image }}) - with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_AARCH }}:${{ matrix.image }} - run: ./tests/ci/run_prefix_tests.sh - # BoringSSL has 7k+ ssl runner tests, and the total number of the runner tests keep increasing. # When ASAN enabled, the tests take more than 1 hour to finish. The cause relates to https://github.com/google/sanitizers/issues/1331, # https://github.com/google/sanitizers/issues/703, and fixed in https://reviews.llvm.org/D60243 which is pending a review. - # To reduce the total time, these tests will be executed in below CodeBuild dimensions: - # 1. amazonlinux_2023_clang_14x_ssl_asan1 - # 2. amazonlinux_2023_clang_14x_ssl_asan2 - # 3. amazonlinux_2023_clang_14x_ssl_asan3 - # 4. amazonlinux_2023_clang_14x_ssl_asan4 - # Env var |AWS_LC_SSL_RUNNER_START_INDEX| and |AWS_LC_SSL_RUNNER_END_INDEX| are used to filter the runner tests. - + # To reduce the total time, these tests are broken into 4 distinct parts asan-ssl-part1: runs-on: - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} image:arm-3.0 instance-size:large - buildspec-override:true env: AWS_LC_GO_TEST_TIMEOUT: 60m AWS_LC_SSL_RUNNER_END_INDEX: 3500 steps: - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_AARCH=${AWS_ECR_REPO_LINUX_AARCH} >> "$GITHUB_OUTPUT" + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v2 - uses: ./.github/actions/codebuild-docker-run name: Run Container with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_AARCH }}:amazonlinux-2023_clang-15x_sanitizer_latest + image: ${{ steps.login-ecr.outputs.registry }}/aws-lc/amazonlinux:2023 env: | AWS_LC_GO_TEST_TIMEOUT AWS_LC_SSL_RUNNER_END_INDEX - run: ./tests/ci/run_ssl_asan_tests.sh + run: | + source /opt/compiler-env/setup-clang-15.sh + ./tests/ci/run_ssl_asan_tests.sh asan-ssl-part2: runs-on: - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} image:arm-3.0 instance-size:large - buildspec-override:true env: AWS_LC_GO_TEST_TIMEOUT: 60m AWS_LC_SSL_RUNNER_START_INDEX: 3501 AWS_LC_SSL_RUNNER_END_INDEX: 5500 steps: - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_AARCH=${AWS_ECR_REPO_LINUX_AARCH} >> "$GITHUB_OUTPUT" + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v2 - uses: ./.github/actions/codebuild-docker-run name: Run Container with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_AARCH }}:amazonlinux-2023_clang-15x_sanitizer_latest + image: ${{ steps.login-ecr.outputs.registry }}/aws-lc/amazonlinux:2023 env: | AWS_LC_GO_TEST_TIMEOUT AWS_LC_SSL_RUNNER_START_INDEX AWS_LC_SSL_RUNNER_END_INDEX - run: ./tests/ci/run_ssl_asan_tests.sh + run: | + source /opt/compiler-env/setup-clang-15.sh + ./tests/ci/run_ssl_asan_tests.sh asan-ssl-part3: runs-on: - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} image:arm-3.0 instance-size:large - buildspec-override:true env: AWS_LC_GO_TEST_TIMEOUT: 60m AWS_LC_SSL_RUNNER_START_INDEX: 5501 AWS_LC_SSL_RUNNER_END_INDEX: 7000 steps: - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_AARCH=${AWS_ECR_REPO_LINUX_AARCH} >> "$GITHUB_OUTPUT" + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v2 - uses: ./.github/actions/codebuild-docker-run name: Run Container with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_AARCH }}:amazonlinux-2023_clang-15x_sanitizer_latest + image: ${{ steps.login-ecr.outputs.registry }}/aws-lc/amazonlinux:2023 env: | AWS_LC_GO_TEST_TIMEOUT AWS_LC_SSL_RUNNER_START_INDEX AWS_LC_SSL_RUNNER_END_INDEX - run: ./tests/ci/run_ssl_asan_tests.sh + run: | + source /opt/compiler-env/setup-clang-15.sh + ./tests/ci/run_ssl_asan_tests.sh asan-ssl-part4: runs-on: - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} image:arm-3.0 instance-size:large - buildspec-override:true env: AWS_LC_GO_TEST_TIMEOUT: 60m AWS_LC_SSL_RUNNER_START_INDEX: 7001 steps: - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_AARCH=${AWS_ECR_REPO_LINUX_AARCH} >> "$GITHUB_OUTPUT" - - uses: ./.github/actions/codebuild-docker-run - name: Run Container - with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_AARCH }}:amazonlinux-2023_clang-15x_sanitizer_latest - env: | - AWS_LC_GO_TEST_TIMEOUT - AWS_LC_SSL_RUNNER_START_INDEX - run: ./tests/ci/run_ssl_asan_tests.sh - - valgrind: - name: valgrind - runs-on: - - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} - image:arm-3.0 - instance-size:large - buildspec-override:true - env: - AWS_LC_GO_TEST_TIMEOUT: 60m - steps: - - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_AARCH=${AWS_ECR_REPO_LINUX_AARCH} >> "$GITHUB_OUTPUT" - - uses: ./.github/actions/codebuild-docker-run - name: Run Container - with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_AARCH }}:amazonlinux-2023_gcc-11x_latest - env: | - AWS_LC_GO_TEST_TIMEOUT - run: ./tests/ci/run_valgrind_tests.sh - - valgrind-ssl-runner-part1: - runs-on: - - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} - image:arm-3.0 - instance-size:large - buildspec-override:true - env: - AWS_LC_GO_TEST_TIMEOUT: 60m - AWS_LC_SSL_RUNNER_END_INDEX: 4000 - steps: - - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_AARCH=${AWS_ECR_REPO_LINUX_AARCH} >> "$GITHUB_OUTPUT" + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v2 - uses: ./.github/actions/codebuild-docker-run name: Run Container with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_AARCH }}:amazonlinux-2023_gcc-11x_latest - env: | - AWS_LC_GO_TEST_TIMEOUT - AWS_LC_SSL_RUNNER_END_INDEX - run: ./tests/ci/run_ssl_runner_valgrind_tests.sh - options: --privileged - - valgrind-ssl-runner-part2: - runs-on: - - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} - image:arm-3.0 - instance-size:large - buildspec-override:true - env: - AWS_LC_GO_TEST_TIMEOUT: 60m - AWS_LC_SSL_RUNNER_START_INDEX: 4001 - steps: - - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_AARCH=${AWS_ECR_REPO_LINUX_AARCH} >> "$GITHUB_OUTPUT" - - uses: ./.github/actions/codebuild-docker-run - name: Run Container - with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_AARCH }}:amazonlinux-2023_gcc-11x_latest + image: ${{ steps.login-ecr.outputs.registry }}/aws-lc/amazonlinux:2023 env: | AWS_LC_GO_TEST_TIMEOUT AWS_LC_SSL_RUNNER_START_INDEX - run: ./tests/ci/run_ssl_runner_valgrind_tests.sh - options: --privileged - - # Sanitizer is very slow on ARM. - # https://github.com/google/sanitizers/issues/1331 - sanitizers: - runs-on: - - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} - image:arm-3.0 - instance-size:large - buildspec-override:true - env: - AWS_LC_GO_TEST_TIMEOUT: '60m' - steps: - - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_AARCH=${AWS_ECR_REPO_LINUX_AARCH} >> "$GITHUB_OUTPUT" - - uses: ./.github/actions/codebuild-docker-run - name: Run Container - with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_AARCH }}:amazonlinux-2023_clang-15x_sanitizer_latest - env: | - AWS_LC_GO_TEST_TIMEOUT - options: --privileged - run: ./tests/ci/run_posix_sanitizers.sh + run: | + source /opt/compiler-env/setup-clang-15.sh + ./tests/ci/run_ssl_asan_tests.sh # Build and test aws-lc without Perl/Go. minimal_tests: - name: minimal-${{ matrix.image }} - runs-on: - - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} - image:arm-3.0 - instance-size:large - buildspec-override:true - strategy: - fail-fast: false - matrix: - image: - - ubuntu-20.04_clang-7x_latest - steps: - - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_AARCH=${AWS_ECR_REPO_LINUX_AARCH} >> "$GITHUB_OUTPUT" - - uses: ./.github/actions/codebuild-docker-run - name: Run Container (${{ matrix.image }}) - with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_AARCH }}:${{ matrix.image }} - run: ./tests/ci/run_minimal_tests.sh - - fips_callback: - name: fips-callback-${{ matrix.image }} - runs-on: - - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} - image:arm-3.0 - instance-size:large - buildspec-override:true - strategy: - fail-fast: false - matrix: - image: - - amazonlinux-2_gcc-7x_latest - - amazonlinux-2023_gcc-11x_latest - steps: - - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_AARCH=${AWS_ECR_REPO_LINUX_AARCH} >> "$GITHUB_OUTPUT" - - uses: ./.github/actions/codebuild-docker-run - name: Run Container (${{ matrix.image }}) - with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_AARCH }}:${{ matrix.image }} - run: ./tests/ci/run_fips_callback_tests.sh - - benchmark: + name: minimal-ubuntu:22.04-clang-7-aarch64 runs-on: - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} image:arm-3.0 instance-size:large - buildspec-override:true steps: - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_AARCH=${AWS_ECR_REPO_LINUX_AARCH} >> "$GITHUB_OUTPUT" + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v2 - uses: ./.github/actions/codebuild-docker-run - name: Run POSIX tests + name: Run Container with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_AARCH }}:amazonlinux-2023_clang-15x_latest - run: ./tests/ci/run_benchmark_build_tests.sh + image: ${{ steps.login-ecr.outputs.registry }}/aws-lc/ubuntu:20.04 + run: | + source /opt/compiler-env/setup-clang-7.sh + ./tests/ci/run_minimal_tests.sh diff --git a/.github/workflows/linux_x86_omnibus.yml b/.github/workflows/linux_x86_omnibus.yml index 4ddd19cc068..8f088f0e1aa 100644 --- a/.github/workflows/linux_x86_omnibus.yml +++ b/.github/workflows/linux_x86_omnibus.yml @@ -1,9 +1,9 @@ name: linux-x86-omnibus on: push: - branches: [ '*' ] + branches: ["*"] pull_request: - branches: [ '*' ] + branches: ["*"] concurrency: group: ${{ github.workflow }}-${{ github.ref_name }} cancel-in-progress: true @@ -15,17 +15,17 @@ jobs: - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} image:linux-5.0 instance-size:small - buildspec-override:true steps: - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_X86=${AWS_ECR_REPO_LINUX_X86} >> "$GITHUB_OUTPUT" + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v2 - uses: ./.github/actions/codebuild-docker-run name: Run Container with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_X86 }}:ubuntu-20.04_clang-8x_latest + image: ${{ steps.login-ecr.outputs.registry }}/aws-lc/ubuntu:20.04 run: | + source /opt/compiler-env/setup-clang-8.sh ./tests/check_objects_and_errors.sh ./tests/check_cmake_configure.sh go run ./tests/check_licenses.go @@ -38,142 +38,18 @@ jobs: - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} image:linux-5.0 instance-size:small - buildspec-override:true steps: - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_X86=${AWS_ECR_REPO_LINUX_X86} >> "$GITHUB_OUTPUT" + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v2 - uses: ./.github/actions/codebuild-docker-run name: Run Container with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_X86 }}:ubuntu-22.04_gcc-12x_latest - run: ./tests/coding_guidelines/c99_cplusplus98_test.sh - - posix_tests: - name: posix-tests-${{ matrix.image }}-${{ matrix.build32 && 'x86' || 'x86_64' }} - runs-on: - - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} - image:linux-5.0 - instance-size:large - buildspec-override:true - strategy: - fail-fast: false - matrix: - image: - - amazonlinux-2_clang-7x_latest - - amazonlinux-2_gcc-7x_latest - - amazonlinux-2023_clang-15x_latest - - amazonlinux-2023_gcc-11x_latest - - centos-7_gcc-4x_latest - - centos-8_gcc-8x_latest - - ubuntu-18.04_clang-6x_latest - - ubuntu-18.04_gcc-7x_latest - - ubuntu-20.04_clang-7x_latest - - ubuntu-20.04_clang-8x_latest - - ubuntu-20.04_clang-9x_latest - - ubuntu-20.04_clang-10x_latest - - ubuntu-20.04_gcc-7x_latest - - ubuntu-20.04_gcc-8x_latest - - ubuntu-22.04_gcc-10x_latest - - ubuntu-22.04_gcc-11x_latest - - ubuntu-22.04_gcc-12x_latest - build32: [0] - include: - - image: centos-7_gcc-4x_latest - build32: 1 - - image: fedora-31_clang-9x_latest - cc: clang-9 - cxx: clang++-9 - build32: 0 - - image: ubuntu-16.04_gcc-5x_latest - build32: 1 - steps: - - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_X86=${AWS_ECR_REPO_LINUX_X86} >> "$GITHUB_OUTPUT" - - uses: ./.github/actions/codebuild-docker-run - name: Run Container (${{ matrix.image }}) - env: - AWSLC_32BIT: ${{ matrix.build32 || 0 }} - with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_X86 }}:${{ matrix.image }} - env: | - AWSLC_32BIT + image: ${{ steps.login-ecr.outputs.registry }}/aws-lc/ubuntu:22.04 run: | - [[ "${{ matrix.cc }}z" != "z" ]] && export CC="${{ matrix.cc }}" || true - [[ "${{ matrix.cxx }}z" != "z" ]] && export CXX="${{ matrix.cxx }}" || true - ./tests/ci/run_posix_tests.sh - - fips_tests: - name: ${{ matrix.enableASAN && 'asan-' || '' }}fips-tests-${{ matrix.image }} - runs-on: - - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} - image:linux-5.0 - instance-size:large - buildspec-override:true - strategy: - fail-fast: false - matrix: - image: - - amazonlinux-2_clang-7x_latest - - amazonlinux-2_gcc-7x_latest - - amazonlinux-2023_clang-15x_latest - - amazonlinux-2023_gcc-11x_latest - - centos-7_gcc-4x_latest - - centos-8_gcc-8x_latest - - ubuntu-18.04_clang-6x_latest - - ubuntu-18.04_gcc-7x_latest - - ubuntu-20.04_clang-8x_latest - - ubuntu-20.04_clang-9x_latest - - ubuntu-20.04_clang-10x_latest - - ubuntu-20.04_gcc-7x_latest - - ubuntu-20.04_gcc-8x_latest - - ubuntu-22.04_gcc-10x_latest - - ubuntu-22.04_gcc-11x_latest - - ubuntu-22.04_gcc-12x_latest - include: - - image: ubuntu-20.04_clang-7x_latest - enableASAN: 1 - env: - AWSLC_ENABLE_FIPS_ASAN: ${{ matrix.enableASAN || 0 }} - steps: - - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_X86=${AWS_ECR_REPO_LINUX_X86} >> "$GITHUB_OUTPUT" - - uses: ./.github/actions/codebuild-docker-run - name: Run Container (${{ matrix.image }}) - with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_X86 }}:${{ matrix.image }} - env: | - AWSLC_ENABLE_FIPS_ASAN - run: ./tests/ci/run_fips_tests.sh - - prefix_tests: - name: prefix-tests-${{ matrix.image }} - runs-on: - - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} - image:linux-5.0 - instance-size:large - buildspec-override:true - strategy: - fail-fast: false - matrix: - image: - - amazonlinux-2_clang-7x_latest - - ubuntu-22.04_gcc-11x_latest - steps: - - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_X86=${AWS_ECR_REPO_LINUX_X86} >> "$GITHUB_OUTPUT" - - uses: ./.github/actions/codebuild-docker-run - name: Run Container (${{ matrix.image }}) - with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_X86 }}:${{ matrix.image }} - run: ./tests/ci/run_prefix_tests.sh + source /opt/compiler-env/setup-gcc-12.sh + ./tests/coding_guidelines/c99_cplusplus98_test.sh sde_tests: name: sde-tests @@ -181,17 +57,18 @@ jobs: - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} image:linux-5.0 instance-size:2xlarge - buildspec-override:true steps: - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_X86=${AWS_ECR_REPO_LINUX_X86} >> "$GITHUB_OUTPUT" + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v2 - uses: ./.github/actions/codebuild-docker-run name: Run Container with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_X86 }}:amazonlinux-2_gcc-7x_intel-sde_latest - run: ./tests/ci/run_tests_with_sde.sh + image: ${{ steps.login-ecr.outputs.registry }}/aws-lc/amazonlinux:2_sde + run: | + source /opt/compiler-env/setup-gcc-7.sh + ./tests/ci/run_tests_with_sde.sh options: --privileged asan_sde_tests: @@ -200,126 +77,37 @@ jobs: - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} image:linux-5.0 instance-size:2xlarge - buildspec-override:true steps: - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_X86=${AWS_ECR_REPO_LINUX_X86} >> "$GITHUB_OUTPUT" + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v2 - uses: ./.github/actions/codebuild-docker-run name: Run Container with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_X86 }}:ubuntu-22.04_clang-14x-sde_latest - run: ./tests/ci/run_tests_with_sde_asan.sh - options: --privileged - - valgrind: - name: valgrind - runs-on: - - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} - image:linux-5.0 - instance-size:large - buildspec-override:true - env: - AWS_LC_GO_TEST_TIMEOUT: 60m - steps: - - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_X86=${AWS_ECR_REPO_LINUX_X86} >> "$GITHUB_OUTPUT" - - uses: ./.github/actions/codebuild-docker-run - name: Run Container - with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_X86 }}:amazonlinux-2023_gcc-11x_latest - env: | - AWS_LC_GO_TEST_TIMEOUT - run: ./tests/ci/run_valgrind_tests.sh - - valgrind-ssl-runner-part1: - runs-on: - - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} - image:linux-5.0 - instance-size:2xlarge - buildspec-override:true - env: - AWS_LC_GO_TEST_TIMEOUT: 60m - AWS_LC_SSL_RUNNER_END_INDEX: 4000 - steps: - - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_X86=${AWS_ECR_REPO_LINUX_X86} >> "$GITHUB_OUTPUT" - - uses: ./.github/actions/codebuild-docker-run - name: Run Container - with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_X86 }}:amazonlinux-2023_gcc-11x_latest - env: | - AWS_LC_GO_TEST_TIMEOUT - AWS_LC_SSL_RUNNER_END_INDEX - run: ./tests/ci/run_ssl_runner_valgrind_tests.sh - options: --privileged - - valgrind-ssl-runner-part2: - runs-on: - - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} - image:linux-5.0 - instance-size:2xlarge - buildspec-override:true - env: - AWS_LC_GO_TEST_TIMEOUT: 60m - AWS_LC_SSL_RUNNER_START_INDEX: 4001 - steps: - - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_X86=${AWS_ECR_REPO_LINUX_X86} >> "$GITHUB_OUTPUT" - - uses: ./.github/actions/codebuild-docker-run - name: Run Container - with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_X86 }}:amazonlinux-2023_gcc-11x_latest - env: | - AWS_LC_GO_TEST_TIMEOUT - AWS_LC_SSL_RUNNER_START_INDEX - run: ./tests/ci/run_ssl_runner_valgrind_tests.sh + image: ${{ steps.login-ecr.outputs.registry }}/aws-lc/ubuntu:22.04_sde + run: | + source /opt/compiler-env/setup-clang-14.sh + ./tests/ci/run_tests_with_sde_asan.sh options: --privileged - sanitizers: - runs-on: - - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} - image:linux-5.0 - instance-size:large - buildspec-override:true - env: - AWS_LC_GO_TEST_TIMEOUT: '45m' - steps: - - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_X86=${AWS_ECR_REPO_LINUX_X86} >> "$GITHUB_OUTPUT" - - uses: ./.github/actions/codebuild-docker-run - name: Run Container - with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_X86 }}:amazonlinux-2023_clang-15x_sanitizer_latest - env: | - AWS_LC_GO_TEST_TIMEOUT - run: ./tests/ci/run_posix_sanitizers.sh - install_shared_and_static: runs-on: - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} image:linux-5.0 instance-size:small - buildspec-override:true steps: - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_X86=${AWS_ECR_REPO_LINUX_X86} >> "$GITHUB_OUTPUT" + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v2 - uses: ./.github/actions/codebuild-docker-run name: Run Container with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_X86 }}:ubuntu-20.04_clang-9x_latest - run: ./tests/ci/run_install_shared_and_static.sh + image: ${{ steps.login-ecr.outputs.registry }}/aws-lc/ubuntu:20.04 + run: | + source /opt/compiler-env/setup-clang-9.sh + ./tests/ci/run_install_shared_and_static.sh # We parallel the quick check proof scripts. # Since each proof script takes around 7GB of memory, this results in a high demand for memory. @@ -332,7 +120,6 @@ jobs: - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} image:linux-5.0 instance-size:${{ matrix.size }} - buildspec-override:true strategy: fail-fast: false matrix: @@ -367,6 +154,8 @@ jobs: # NSym proofs on platform AArch64 steps: - uses: actions/checkout@v5 + - name: Login to Amazon ECR + uses: aws-actions/amazon-ecr-login@v2 - name: Get ECR Repoistory URL id: ecr run: echo AWS_ECR_REPO_LINUX_X86=${AWS_ECR_REPO_LINUX_X86} >> "$GITHUB_OUTPUT" @@ -379,127 +168,102 @@ jobs: # Build and test aws-lc without Perl/Go. minimal_tests: - name: minimal-${{ matrix.image }} + name: minimal-${{ matrix.image }}-${{ matrix.compiler }}-x86_64 runs-on: - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} image:linux-5.0 instance-size:small - buildspec-override:true strategy: fail-fast: false matrix: - image: - - amazonlinux-2_gcc-7x_latest - - centos-7_gcc-4x_latest - - ubuntu-16.04_gcc-5x_latest - - ubuntu-18.04_clang-6x_latest - - ubuntu-20.04_clang-8x_latest - - ubuntu-20.04_clang-9x_latest - - ubuntu-20.04_gcc-7x_latest - - ubuntu-20.04_gcc-8x_latest + include: + - image: amazonlinux:2 + compiler: gcc-7 + - image: centos:7 + compiler: gcc-4 + - image: ubuntu:16.04 + compiler: gcc-5 + - image: ubuntu:18.04 + compiler: clang-6 + - image: ubuntu:20.04 + compiler: clang-8 + - image: ubuntu:20.04 + compiler: clang-9 + - image: ubuntu:20.04 + compiler: gcc-7 + - image: ubuntu:20.04 + compiler: gcc-8 steps: - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_X86=${AWS_ECR_REPO_LINUX_X86} >> "$GITHUB_OUTPUT" + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v2 - uses: ./.github/actions/codebuild-docker-run name: Run Container (${{ matrix.image }}) with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_X86 }}:${{ matrix.image }} - run: ./tests/ci/run_minimal_tests.sh - - benchmark: - runs-on: - - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} - image:linux-5.0 - instance-size:large - buildspec-override:true - steps: - - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_X86=${AWS_ECR_REPO_LINUX_X86} >> "$GITHUB_OUTPUT" - - uses: ./.github/actions/codebuild-docker-run - name: Run POSIX tests - with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_X86 }}:amazonlinux-2023_clang-15x_latest - run: ./tests/ci/run_benchmark_build_tests.sh + image: ${{ steps.login-ecr.outputs.registry }}/aws-lc/${{ matrix.image }} + run: | + source /opt/compiler-env/setup-${{ matrix.compiler }}.sh + ./tests/ci/run_minimal_tests.sh legacy_build: runs-on: - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} image:linux-5.0 instance-size:small - buildspec-override:true steps: - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_X86=${AWS_ECR_REPO_LINUX_X86} >> "$GITHUB_OUTPUT" + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v2 - uses: ./.github/actions/codebuild-docker-run name: Run Container with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_X86 }}:ubuntu-10.04_gcc-4.1x_latest - run: ./tests/ci/run_legacy_build.sh - - fips_callback: - name: fips-callback-${{ matrix.image }} - runs-on: - - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} - image:linux-5.0 - instance-size:large - buildspec-override:true - strategy: - fail-fast: false - matrix: - image: - - amazonlinux-2_gcc-7x_latest - - amazonlinux-2023_gcc-11x_latest - steps: - - uses: actions/checkout@v5 - - name: Get ECR Repoistory URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_X86=${AWS_ECR_REPO_LINUX_X86} >> "$GITHUB_OUTPUT" - - uses: ./.github/actions/codebuild-docker-run - name: Run Container (${{ matrix.image }}) - with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_X86 }}:${{ matrix.image }} - run: ./tests/ci/run_fips_callback_tests.sh + image: ${{ steps.login-ecr.outputs.registry }}/aws-lc/ubuntu:10.04 + run: | + source /opt/compiler-env/setup-gcc-4.1.sh + ./tests/ci/run_legacy_build.sh legacy_avx_tests: name: legacy-avx-${{ matrix.image }}-${{ matrix.build32 && 'x86' || 'x86_64' }} runs-on: - codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }} image:linux-5.0 - instance-size:large - buildspec-override:true + instance-size:large strategy: fail-fast: false matrix: - image: - - centos-7_gcc-4x_latest - - centos-8_gcc-8x_latest - - amazonlinux-2_gcc-7x_latest - - ubuntu-16.04_gcc-5x_latest - - ubuntu-18.04_clang-6x_latest - build32: [0] include: - - image: centos-7_gcc-4x_latest + - image: amazonlinux:2 + compiler: gcc-7 + - image: centos:7 + compiler: gcc-4 + build32: 0 + - image: centos:7 + compiler: gcc-4 build32: 1 - - image: ubuntu-16.04_gcc-5x_latest + - image: centos:8 + compiler: gcc-8 + - image: ubuntu:16.04 + compiler: gcc-5 + build32: 0 + - image: ubuntu:16.04 + compiler: gcc-5 build32: 1 + - image: ubuntu:18.04 + compiler: clang-6 steps: - uses: actions/checkout@v5 - - name: Get ECR Repository URL - id: ecr - run: echo AWS_ECR_REPO_LINUX_X86=${AWS_ECR_REPO_LINUX_X86} >> "$GITHUB_OUTPUT" + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v2 - uses: ./.github/actions/codebuild-docker-run name: Run Container (${{ matrix.image }}) env: AWSLC_32BIT: ${{ matrix.build32 || 0 }} with: - image: ${{ steps.ecr.outputs.AWS_ECR_REPO_LINUX_X86 }}:${{ matrix.image }} + image: ${{ steps.login-ecr.outputs.registry }}/aws-lc/${{ matrix.image }} env: | AWSLC_32BIT run: ./tests/ci/run_legacy_avx_tests.sh - options: --privileged \ No newline at end of file + options: --privileged From f279a07286a84e7b84587e40aeba1b42e744cc97 Mon Sep 17 00:00:00 2001 From: Sean McGrail Date: Thu, 16 Oct 2025 18:02:05 +0000 Subject: [PATCH 2/2] Setup schedule on top-level image-build workflow --- .github/workflows/image-build.yml | 2 ++ .github/workflows/linux_x86_omnibus.yml | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/image-build.yml b/.github/workflows/image-build.yml index b238152704e..62bb84c7a9b 100644 --- a/.github/workflows/image-build.yml +++ b/.github/workflows/image-build.yml @@ -10,6 +10,8 @@ on: Note: These images will still be rebuilt by their respective workflows if the Dockerfile or scripts change. + schedule: + - cron: '30 15 * * 1' jobs: amazonlinux2: uses: ./.github/workflows/image-build-al2.yml diff --git a/.github/workflows/linux_x86_omnibus.yml b/.github/workflows/linux_x86_omnibus.yml index 8f088f0e1aa..572e86519eb 100644 --- a/.github/workflows/linux_x86_omnibus.yml +++ b/.github/workflows/linux_x86_omnibus.yml @@ -265,5 +265,7 @@ jobs: image: ${{ steps.login-ecr.outputs.registry }}/aws-lc/${{ matrix.image }} env: | AWSLC_32BIT - run: ./tests/ci/run_legacy_avx_tests.sh + run: | + source /opt/compiler-env/setup-${{ matrix.compiler }}.sh + ./tests/ci/run_legacy_avx_tests.sh options: --privileged