diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7e933ee50..c8bc7b39d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -342,21 +342,24 @@ jobs: docker.io/hashicorppreview/${{ env.PKG_NAME }}:${{ env.version }}-${{env.revision}} minimum-os: + # test glibc 2.28 compatibility (RHEL 8.10) name: OS Compatibility - # A quick smoke test of our binaries on our minimum target OS (RHEL 7). Why RHEL 7? Because the glibc version is that old (2.17). needs: - get-go-version - get-product-version - build-linux - runs-on: ubuntu-22.04 strategy: fail-fast: false - # Note: Ideally we'd test all our target archs, unfortunately availability of containers of these OS's vary. - # For instance there is no ubi7 image for arm64 (there is on ubi8), RHBZ#1728771. And none at all for arm. - # So we have to settle for only being able to validate where we can, which is just amd64. matrix: goos: [linux] - goarch: [amd64] + goarch: [amd64, arm64] + runner: [ubuntu-22.04, ubuntu-22.04-arm] + exclude: + - runner: ubuntu-22.04 + goarch: arm64 + - runner: ubuntu-22.04-arm + goarch: amd64 + runs-on: ${{ matrix.runner }} steps: - uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0 with: @@ -369,7 +372,6 @@ jobs: artifact_name: ${{ env.PKG_NAME }}_${{ needs.get-product-version.outputs.product-version }}_${{ matrix.goos }}_${{ matrix.goarch }}.zip run: | echo "::group::Unpack and Prep" - docker pull registry.access.redhat.com/ubi7/ubi-minimal:7.9-1057 unzip "$artifact_name" echo "::group::Diagnostics" echo "CGO related build information:" @@ -377,7 +379,7 @@ jobs: echo "GLIBC links:" go tool nm ./nomad | grep -i glibc | cut -d @ -f 2-3 | sort --version-sort | uniq echo "::group::Smoke test binary" - docker run --rm -v "$PWD:/src" registry.access.redhat.com/ubi7/ubi-minimal:7.9-1057 /src/nomad version + docker run --rm -v "$PWD:/src" redhat/ubi8:8.10 /src/nomad version handle-failure: needs: