]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
ci(dnsdist): Build and test on arm64/aarch64
authorPieter Lexis <pieter.lexis@powerdns.com>
Thu, 23 Oct 2025 15:52:20 +0000 (17:52 +0200)
committerPieter Lexis <pieter.lexis@powerdns.com>
Mon, 3 Nov 2025 11:39:00 +0000 (12:39 +0100)
.github/workflows/build-and-test-all.yml

index aefdf8003612ef49ce19cea0689c389ef401c0d2..e86192ffa2c305de28ba1ad71ec7ea8f15e82458 100644 (file)
@@ -225,16 +225,19 @@ jobs:
   build-dnsdist:
     name: build dnsdist
     if: ${{ !github.event.schedule || vars.SCHEDULED_JOBS_BUILD_AND_TEST_ALL }}
-    runs-on: ${{ ( vars.REPOSITORY_USE_UBICLOUD == '1' ) && 'ubicloud-standard-4-ubuntu-2404' || 'ubuntu-24.04' }}
+    runs-on: ${{ ( vars.REPOSITORY_USE_UBICLOUD == '1' ) && 'ubicloud-standard-4-ubuntu-2404' || format('ubuntu-24.04{0}', matrix.architecture_suffix) }}
     needs: get-runner-container-image
     strategy:
       matrix:
         builder: [autotools, meson]
         sanitizers: [asan+ubsan, tsan]
         features: [least, full]
+        architecture_suffix: ['', '-arm']
         exclude:
           - sanitizers: tsan
             features: least
+          - architecture_suffix: '-arm'
+            builder: autotools
       fail-fast: false
     container:
       image: "${{ needs.get-runner-container-image.outputs.id }}:${{ needs.get-runner-container-image.outputs.tag }}"
@@ -268,8 +271,8 @@ jobs:
         uses: actions/cache@v4
         with:
           path: ~/.ccache
-          key: dnsdist-${{ matrix.features }}-${{ matrix.sanitizers }}-${{ matrix.builder}}-ccache-${{ steps.get-stamp.outputs.stamp }}
-          restore-keys: dnsdist-${{ matrix.features }}-${{ matrix.sanitizers }}-${{ matrix.builder}}-ccache-
+          key: dnsdist-${{ matrix.features }}-${{ matrix.sanitizers }}-${{ matrix.builder}}${{ matrix.architecture_suffix }}-ccache-${{ steps.get-stamp.outputs.stamp }}
+          restore-keys: dnsdist-${{ matrix.features }}-${{ matrix.sanitizers }}-${{ matrix.builder}}${{ matrix.architecture_suffix }}-ccache-
       - name: install pip build dependencies
         run: |
           python3 -m venv ${REPO_HOME}/.venv
@@ -321,7 +324,7 @@ jobs:
         if: ${{ matrix.builder == 'meson' }}
         uses: actions/upload-artifact@v4 # this takes 30 seconds, maybe we want to tar
         with:
-          name: dnsdist-${{ matrix.features }}-${{ matrix.sanitizers }}-${{ matrix.builder}}-${{ env.normalized-branch-name }}
+          name: dnsdist-${{ matrix.features }}-${{ matrix.sanitizers }}-${{ matrix.builder}}${{ matrix.architecture_suffix }}-${{ env.normalized-branch-name }}
           path: /opt/dnsdist
           retention-days: 1