name: Cross Build & Test on: push: branches: [ '*' ] pull_request: branches: [ '*' ] concurrency: group: ${{ github.workflow }}-${{ github.ref_name }} cancel-in-progress: true jobs: ppc64-build-test: if: github.repository_owner == 'aws' runs-on: ubuntu-24.04 steps: - name: Install qemu run: | sudo apt-get update -o Acquire::Languages=none -o Acquire::Translation=none sudo apt-get -y install qemu-user qemu-user-binfmt - uses: actions/checkout@v4 - name: PPC64 Build/Test run: tests/ci/run_cross_tests.sh ppc64 powerpc64-unknown-linux-gnu "-DCMAKE_BUILD_TYPE=Release" "-DCMAKE_BUILD_TYPE=Release -DFIPS=1 -DBUILD_SHARED_LIBS=1" ppc32-non-fips-build-test: if: github.repository_owner == 'aws' runs-on: ubuntu-24.04 steps: - name: Install qemu run: | sudo apt-get update -o Acquire::Languages=none -o Acquire::Translation=none sudo apt-get -y install qemu-user qemu-user-binfmt - uses: actions/checkout@v4 - name: PPC32 Build/Test run: tests/ci/run_cross_tests.sh ppc powerpc-unknown-linux-gnu "-DCMAKE_BUILD_TYPE=Release" ppc32-fips-build-test: if: github.repository_owner == 'aws' runs-on: ubuntu-24.04 steps: - name: Install qemu run: | sudo apt-get update -o Acquire::Languages=none -o Acquire::Translation=none sudo apt-get -y install qemu-user qemu-user-binfmt - uses: actions/checkout@v4 - name: PPC32 Build/Test run: tests/ci/run_cross_tests.sh ppc powerpc-unknown-linux-gnu "-DCMAKE_BUILD_TYPE=Release -DFIPS=1 -DBUILD_SHARED_LIBS=1" ppc64le-build-test: if: github.repository_owner == 'aws' runs-on: ubuntu-24.04 steps: - name: Install qemu run: | sudo apt-get update -o Acquire::Languages=none -o Acquire::Translation=none sudo apt-get -y install qemu-user qemu-user-binfmt - uses: actions/checkout@v4 - name: PPC64LE Build/Test run: tests/ci/run_cross_tests.sh ppc64le powerpc64le-unknown-linux-gnu "-DCMAKE_BUILD_TYPE=Release" "-DCMAKE_BUILD_TYPE=Release -DFIPS=1 -DBUILD_SHARED_LIBS=1" riscv64-non-fips-build-test: if: github.repository_owner == 'aws' runs-on: ubuntu-24.04 steps: - name: Install qemu run: | sudo apt-get update -o Acquire::Languages=none -o Acquire::Translation=none sudo apt-get -y install qemu-user qemu-user-binfmt - uses: actions/checkout@v4 - name: RISC-V 64 Build/Test # The flag below is set to avoid the following error with GCC 11.4.0: # # /home/runner/work/aws-lc/aws-lc/crypto/pem/pem_lib.c:705:11: error: 'strncmp' of strings of length 1 and 9 and bound of 9 evaluates to nonzero [-Werror=string-compare] # 705 | if (strncmp(buf, "-----END ", 9) == 0) { # | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ env: CFLAGS: "-Wno-string-compare" run: tests/ci/run_cross_tests.sh riscv riscv64-unknown-linux-gnu "-DCMAKE_BUILD_TYPE=Release" armv6-non-fips-build-test: if: github.repository_owner == 'aws' runs-on: ubuntu-24.04 steps: - name: Install qemu run: | sudo apt-get update -o Acquire::Languages=none -o Acquire::Translation=none sudo apt-get -y install qemu-user qemu-user-binfmt - uses: actions/checkout@v4 - name: armv6 Build/Test run: tests/ci/run_cross_tests.sh armv6 armv6-unknown-linux-gnueabi "-DCMAKE_BUILD_TYPE=Release" loongarch64-non-fips-build-test: runs-on: ubuntu-24.04 steps: - name: Install qemu run: | sudo apt-get update -o Acquire::Languages=none -o Acquire::Translation=none sudo apt-get -y install qemu-user qemu-user-binfmt - uses: actions/checkout@v4 - name: loongarch64 Build/Test run: tests/ci/run_cross_tests.sh loongarch64 loongarch64-unknown-linux-gnu "-DCMAKE_BUILD_TYPE=Release" s390x-non-fips-build-test: if: github.repository_owner == 'aws' runs-on: ubuntu-24.04 steps: - name: Install qemu run: | sudo apt-get update -o Acquire::Languages=none -o Acquire::Translation=none sudo apt-get -y install qemu-user qemu-user-binfmt - uses: actions/checkout@v4 - name: s390x Build/Test # The flag below is set to avoid the following error with GCC 11.4.0: # # /home/runner/work/aws-lc/aws-lc/crypto/pem/pem_lib.c:705:11: error: 'strncmp' of strings of length 1 and 9 and bound of 9 evaluates to nonzero [-Werror=string-compare] # 705 | if (strncmp(buf, "-----END ", 9) == 0) { # | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ env: CFLAGS: "-Wno-string-compare" run: tests/ci/run_cross_tests.sh s390x s390x-ibm-linux-gnu "-DCMAKE_BUILD_TYPE=Release"