From 2dbe4e3299c527f72efc6da5d97bcfc22e421ed3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20J=C3=BCnger?= Date: Tue, 25 Feb 2025 15:44:02 +0100 Subject: [PATCH] Add arm64 native CI and Ubuntu 24.04 CI target MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Lukas Jünger --- .github/workflows/asan.yml | 32 +++++++++++++++++++++- .github/workflows/cmake.yml | 44 ++++++++++++++++++++++--------- .github/workflows/regressions.yml | 32 +++++++++++++++++++++- .github/workflows/tsan.yml | 32 +++++++++++++++++++++- .github/workflows/ubsan.yml | 32 +++++++++++++++++++++- 5 files changed, 156 insertions(+), 16 deletions(-) diff --git a/.github/workflows/asan.yml b/.github/workflows/asan.yml index e2800b146..ea44d0cbe 100644 --- a/.github/workflows/asan.yml +++ b/.github/workflows/asan.yml @@ -10,7 +10,7 @@ jobs: strategy: fail-fast: false matrix: - version: [20.04, 22.04] + version: [20.04, 22.04, 24.04] platform: [linux/amd64] target: [clang-shared-regression-asan] steps: @@ -35,6 +35,36 @@ jobs: run: | docker buildx build --platform ${{ matrix.platform }} -t systemc_test --build-arg ALMA_VERSION=${{ matrix.version }} -f docker/alma.dockerfile . docker run -e SYSTEMC_CI_TARGET=${{ matrix.target }} systemc_test + ubuntu-arm: + runs-on: ubuntu-24.04-arm + strategy: + fail-fast: false + matrix: + version: [20.04, 22.04, 24.04] + platform: [linux/arm64] + target: [clang-shared-regression-asan] + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Build + run: | + docker buildx build --platform ${{ matrix.platform }} -t systemc_test --build-arg UBUNTU_VERSION=${{ matrix.version }} -f docker/ubuntu.dockerfile . + docker run -e SYSTEMC_CI_TARGET=${{ matrix.target }} systemc_test + almalinux-arm: + runs-on: ubuntu-24.04-arm + strategy: + fail-fast: false + matrix: + version: [8, 9] + platform: [linux/arm64] + target: [clang-shared-regression-asan] + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Build + run: | + docker buildx build --platform ${{ matrix.platform }} -t systemc_test --build-arg ALMA_VERSION=${{ matrix.version }} -f docker/alma.dockerfile . + docker run -e SYSTEMC_CI_TARGET=${{ matrix.target }} systemc_test macos: runs-on: macos-latest strategy: diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 1b0c6cf44..20bf94ea8 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -10,15 +10,10 @@ jobs: strategy: fail-fast: false matrix: - version: [20.04, 22.04] - platform: [linux/amd64, linux/arm64] + version: [20.04, 22.04, 24.04] + platform: [linux/amd64] target: [gcc-shared, gcc-static, clang-shared, clang-static] steps: - - name: Install qemu-user-static - run: | - if [[ "${{ matrix.platform }}" == "linux/arm64" ]]; then - sudo apt-get update && sudo apt-get install -y qemu-user-static - fi - name: Checkout uses: actions/checkout@v4 - name: Build @@ -31,14 +26,39 @@ jobs: fail-fast: false matrix: version: [8, 9] - platform: [linux/amd64, linux/arm64] + platform: [linux/amd64] target: [gcc-shared, gcc-static, clang-shared, clang-static] steps: - - name: Install qemu-user-static + - name: Checkout + uses: actions/checkout@v4 + - name: Build run: | - if [[ "${{ matrix.platform }}" == "linux/arm64" ]]; then - sudo apt-get update && sudo apt-get install -y qemu-user-static - fi + docker buildx build --platform ${{ matrix.platform }} -t systemc_test --build-arg ALMA_VERSION=${{ matrix.version }} -f docker/alma.dockerfile . + docker run -e SYSTEMC_CI_TARGET=${{ matrix.target }} systemc_test + ubuntu-arm: + runs-on: ubuntu-24.04-arm + strategy: + fail-fast: false + matrix: + version: [20.04, 22.04, 24.04] + platform: [linux/arm64] + target: [gcc-shared, gcc-static, clang-shared, clang-static] + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Build + run: | + docker buildx build --platform ${{ matrix.platform }} -t systemc_test --build-arg UBUNTU_VERSION=${{ matrix.version }} -f docker/ubuntu.dockerfile . + docker run -e SYSTEMC_CI_TARGET=${{ matrix.target }} systemc_test + almalinux-arm: + runs-on: ubuntu-24.04-arm + strategy: + fail-fast: false + matrix: + version: [8, 9] + platform: [linux/arm64] + target: [gcc-shared, gcc-static, clang-shared, clang-static] + steps: - name: Checkout uses: actions/checkout@v4 - name: Build diff --git a/.github/workflows/regressions.yml b/.github/workflows/regressions.yml index c68b7890b..c2970e0fb 100644 --- a/.github/workflows/regressions.yml +++ b/.github/workflows/regressions.yml @@ -10,7 +10,7 @@ jobs: strategy: fail-fast: false matrix: - version: [20.04, 22.04] + version: [20.04, 22.04, 24.04] platform: [linux/amd64] target: [gcc-shared-regression, clang-shared-regression] steps: @@ -35,6 +35,36 @@ jobs: run: | docker buildx build --platform ${{ matrix.platform }} -t systemc_test --build-arg ALMA_VERSION=${{ matrix.version }} -f docker/alma.dockerfile . docker run -e SYSTEMC_CI_TARGET=${{ matrix.target }} systemc_test + ubuntu-arm: + runs-on: ubuntu-24.04-arm + strategy: + fail-fast: false + matrix: + version: [20.04, 22.04, 24.04] + platform: [linux/arm64] + target: [gcc-shared-regression, clang-shared-regression] + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Build + run: | + docker buildx build --platform ${{ matrix.platform }} -t systemc_test --build-arg UBUNTU_VERSION=${{ matrix.version }} -f docker/ubuntu.dockerfile . + docker run -e SYSTEMC_CI_TARGET=${{ matrix.target }} systemc_test + almalinux-arm: + runs-on: ubuntu-24.04-arm + strategy: + fail-fast: false + matrix: + version: [8, 9] + platform: [linux/arm64] + target: [gcc-shared-regression, clang-shared-regression] + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Build + run: | + docker buildx build --platform ${{ matrix.platform }} -t systemc_test --build-arg ALMA_VERSION=${{ matrix.version }} -f docker/alma.dockerfile . + docker run -e SYSTEMC_CI_TARGET=${{ matrix.target }} systemc_test macos: runs-on: macos-latest strategy: diff --git a/.github/workflows/tsan.yml b/.github/workflows/tsan.yml index bb8f5cd4d..2a058c547 100644 --- a/.github/workflows/tsan.yml +++ b/.github/workflows/tsan.yml @@ -10,7 +10,7 @@ jobs: strategy: fail-fast: false matrix: - version: [20.04, 22.04] + version: [20.04, 22.04, 24.04] platform: [linux/amd64] target: [clang-shared-regression-tsan] steps: @@ -35,6 +35,36 @@ jobs: run: | docker buildx build --platform ${{ matrix.platform }} -t systemc_test --build-arg ALMA_VERSION=${{ matrix.version }} -f docker/alma.dockerfile . docker run -e SYSTEMC_CI_TARGET=${{ matrix.target }} systemc_test + ubuntu-arm: + runs-on: ubuntu-24.04-arm + strategy: + fail-fast: false + matrix: + version: [20.04, 22.04, 24.04] + platform: [linux/arm64] + target: [clang-shared-regression-tsan] + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Build + run: | + docker buildx build --platform ${{ matrix.platform }} -t systemc_test --build-arg UBUNTU_VERSION=${{ matrix.version }} -f docker/ubuntu.dockerfile . + docker run -e SYSTEMC_CI_TARGET=${{ matrix.target }} systemc_test + almalinux-arm: + runs-on: ubuntu-24.04-arm + strategy: + fail-fast: false + matrix: + version: [8, 9] + platform: [linux/arm64] + target: [clang-shared-regression-tsan] + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Build + run: | + docker buildx build --platform ${{ matrix.platform }} -t systemc_test --build-arg ALMA_VERSION=${{ matrix.version }} -f docker/alma.dockerfile . + docker run -e SYSTEMC_CI_TARGET=${{ matrix.target }} systemc_test macos: runs-on: macos-latest strategy: diff --git a/.github/workflows/ubsan.yml b/.github/workflows/ubsan.yml index 07706f719..bb983a642 100644 --- a/.github/workflows/ubsan.yml +++ b/.github/workflows/ubsan.yml @@ -10,7 +10,7 @@ jobs: strategy: fail-fast: false matrix: - version: [20.04, 22.04] + version: [20.04, 22.04, 24.04] platform: [linux/amd64] target: [clang-shared-regression-ubsan] steps: @@ -35,6 +35,36 @@ jobs: run: | docker buildx build --platform ${{ matrix.platform }} -t systemc_test --build-arg ALMA_VERSION=${{ matrix.version }} -f docker/alma.dockerfile . docker run -e SYSTEMC_CI_TARGET=${{ matrix.target }} systemc_test + ubuntu-arm: + runs-on: ubuntu-24.04-arm + strategy: + fail-fast: false + matrix: + version: [20.04, 22.04, 24.04] + platform: [linux/arm64] + target: [clang-shared-regression-ubsan] + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Build + run: | + docker buildx build --platform ${{ matrix.platform }} -t systemc_test --build-arg UBUNTU_VERSION=${{ matrix.version }} -f docker/ubuntu.dockerfile . + docker run -e SYSTEMC_CI_TARGET=${{ matrix.target }} systemc_test + almalinux-arm: + runs-on: ubuntu-24.04-arm + strategy: + fail-fast: false + matrix: + version: [8, 9] + platform: [linux/arm64] + target: [clang-shared-regression-ubsan] + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Build + run: | + docker buildx build --platform ${{ matrix.platform }} -t systemc_test --build-arg ALMA_VERSION=${{ matrix.version }} -f docker/alma.dockerfile . + docker run -e SYSTEMC_CI_TARGET=${{ matrix.target }} systemc_test macos: runs-on: macos-latest strategy: