]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
mkosi: enable arm64 job 38066/head
authorLuca Boccassi <luca.boccassi@gmail.com>
Fri, 4 Jul 2025 13:50:29 +0000 (14:50 +0100)
committerLuca Boccassi <luca.boccassi@gmail.com>
Fri, 4 Jul 2025 16:39:29 +0000 (17:39 +0100)
There's no acceleration, so nested VMs are too slow, only enable
nspawn.

.github/workflows/mkosi.yml
test/integration-tests/integration-test-wrapper.py

index badcfa1daa85bde4902d5db787a7c5e69c2d006c..d03b16de120bd3099566ed31d0ad89ea306da9b9 100644 (file)
@@ -46,9 +46,9 @@ permissions:
 
 jobs:
   ci:
-    runs-on: ubuntu-24.04
+    runs-on: ${{ matrix.runner }}
     concurrency:
-      group: ${{ github.workflow }}-${{ matrix.distro }}-${{ matrix.release }}-${{ github.ref }}
+      group: ${{ github.workflow }}-${{ matrix.distro }}-${{ matrix.release }}-${{ github.ref }}-${{ matrix.runner }}
       cancel-in-progress: true
     strategy:
       fail-fast: false
@@ -56,60 +56,94 @@ jobs:
         include:
           - distro: arch
             release: rolling
+            runner: ubuntu-24.04
             sanitizers: ""
             llvm: 0
             cflags: "-O2 -D_FORTIFY_SOURCE=3"
             relabel: no
             vm: 1
+            no_qemu: 0
+            no_kvm: 0
           - distro: debian
             release: testing
+            runner: ubuntu-24.04
             sanitizers: ""
             llvm: 0
             cflags: "-Og"
             relabel: no
             vm: 0
+            no_qemu: 0
+            no_kvm: 0
+          - distro: debian
+            release: testing
+            runner: ubuntu-24.04-arm
+            sanitizers: ""
+            llvm: 0
+            cflags: "-Og"
+            relabel: no
+            vm: 0
+            no_qemu: 1
+            no_kvm: 1
           - distro: ubuntu
             release: noble
+            runner: ubuntu-24.04
             sanitizers: ""
             llvm: 0
             cflags: "-Og"
             relabel: no
             vm: 0
+            no_qemu: 0
+            no_kvm: 0
           - distro: fedora
             release: "42"
+            runner: ubuntu-24.04
             sanitizers: address,undefined
             llvm: 1
             cflags: "-Og"
             relabel: yes
             vm: 0
+            no_qemu: 0
+            no_kvm: 0
           - distro: fedora
             release: rawhide
+            runner: ubuntu-24.04
             sanitizers: ""
             llvm: 0
             cflags: "-Og"
             relabel: yes
             vm: 0
+            no_qemu: 0
+            no_kvm: 0
           - distro: opensuse
             release: tumbleweed
+            runner: ubuntu-24.04
             sanitizers: ""
             llvm: 0
             cflags: "-Og"
             relabel: no
             vm: 0
+            no_qemu: 0
+            no_kvm: 0
           - distro: centos
             release: "9"
+            runner: ubuntu-24.04
             sanitizers: ""
             llvm: 0
             cflags: "-Og"
             relabel: yes
             vm: 0
+            no_qemu: 0
+            no_kvm: 0
           - distro: centos
             release: "10"
+            runner: ubuntu-24.04
             sanitizers: ""
             llvm: 0
             cflags: "-Og"
             relabel: yes
             vm: 0
+            no_qemu: 0
+            no_kvm: 0
 
     steps:
       - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
@@ -215,14 +249,22 @@ jobs:
               MAX_LINES=()
           fi
 
+          if [ "${{ matrix.no_kvm }}" = 1 ] && [ "${{ matrix.no_qemu }}" = 0 ]; then
+              timeout_multiplier=4
+          fi
+
           # --preserve-env makes sure all the github actions environment variables are propagated which are
           # used in integration-test-wrapper.py to construct the `gh` command line to download the journals
           # of failed tests.
           sudo --preserve-env mkosi sandbox -- \
             env \
             TEST_PREFER_QEMU=${{ matrix.vm }} \
+            TEST_NO_QEMU=${{ matrix.no_qemu }} \
+            TEST_NO_KVM=${{ matrix.no_kvm }} \
+            TEST_RUNNER=${{ matrix.runner }} \
             meson test \
             -C build \
+            --timeout-multiplier="${timeout_multiplier:-1}" \
             --no-rebuild \
             --setup=integration \
             --suite=integration-tests \
@@ -235,7 +277,7 @@ jobs:
         uses: actions/upload-artifact@v4
         if: failure() && (github.repository == 'systemd/systemd' || github.repository == 'systemd/systemd-stable')
         with:
-          name: ci-mkosi-${{ github.run_id }}-${{ github.run_attempt }}-${{ matrix.distro }}-${{ matrix.release }}-failed-test-journals
+          name: ci-mkosi-${{ github.run_id }}-${{ github.run_attempt }}-${{ matrix.distro }}-${{ matrix.release }}-${{ matrix.runner }}-failed-test-journals
           path: |
             build/test/journal/*.journal
             build/meson-logs/*
index 5f456cd3e9f0f3db9c3f857c317499dee0654815..c3b8dbf77e73ea0fc15864f1be34ef45f9327ef8 100755 (executable)
@@ -672,7 +672,10 @@ def main() -> None:
             id = os.environ['GITHUB_RUN_ID']
             wf = os.environ['GITHUB_WORKFLOW']
             iter = os.environ['GITHUB_RUN_ATTEMPT']
-            artifact = f'ci-{wf}-{id}-{iter}-{summary.distribution}-{summary.release}-failed-test-journals'
+            runner = os.environ['TEST_RUNNER']
+            artifact = (
+                f'ci-{wf}-{id}-{iter}-{summary.distribution}-{summary.release}-{runner}-failed-test-journals'  # noqa: E501
+            )
             ops += [f'gh run download {id} --name {artifact} -D ci/{artifact}']
             journal_file = Path(f'ci/{artifact}/test/journal/{name}.journal')