From 2ca218af23221975d25ed69709f6b108ff34773a Mon Sep 17 00:00:00 2001 From: Andrew Cooper Date: Fri, 8 May 2026 20:10:25 +0100 Subject: [PATCH] CI: Adjust test needs[] to ensure binaries/ is non-root The binaries/ directory is a composition from the artefacts, and also used as a working directory for most of the tests. If the very first artefact is from a root container, then the test must also be a root container to use it as a working directory. For arm64, the existing linux-arm64 artefact suffices. For arm32, pull in the microcode-x86 artefact as it's the smallest available. This bodge can be removed when all build containers have become non-root. For the qemu-xtf-dom0less-arm64-*-xen-version jobs, use *arm64-test-needs ahead of alpine-3.18-gcc-* (as it's a root container), and to deduplicate the *-export dependency. This will allow us to change containers to being non-root one at a time, rather than all in one go. No functional change. Signed-off-by: Andrew Cooper Reviewed-by: Michal Orzel --- automation/gitlab-ci/test.yaml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml index 8770c523e2..517af17324 100644 --- a/automation/gitlab-ci/test.yaml +++ b/automation/gitlab-ci/test.yaml @@ -15,6 +15,12 @@ - qemu-system-aarch64-6.0.0-arm64-export .arm32-test-needs: &arm32-test-needs + # Bodge to ensure binaries/ is non-root. Can be any artefact which comes + # from a non-root container, and microcode-x86 is the smallest. Remove when + # all build containers have become non-root. + - project: $ARTIFACTS_REPO + job: microcode-x86 + ref: $ARTIFACTS_BRANCH - qemu-system-aarch64-6.0.0-arm32-export .x86-64-test-needs: &x86-64-test-needs @@ -569,16 +575,16 @@ qemu-xtf-dom0less-arm64-gcc-hyp-xen-version: script: - ./automation/scripts/qemu-xtf.sh arm64 mmu64le hyp-xen-version 2>&1 | tee ${LOGFILE} needs: + - *arm64-test-needs - alpine-3.18-gcc-arm64 - - qemu-system-aarch64-6.0.0-arm64-export qemu-xtf-dom0less-arm64-gcc-debug-hyp-xen-version: extends: .qemu-arm64 script: - ./automation/scripts/qemu-xtf.sh arm64 mmu64le hyp-xen-version 2>&1 | tee ${LOGFILE} needs: + - *arm64-test-needs - alpine-3.18-gcc-debug-arm64 - - qemu-system-aarch64-6.0.0-arm64-export qemu-smoke-dom0-arm32-gcc: extends: .qemu-arm32