CI: Use bash arrays to simplify dom0 rootfs construction

For Qubes, this requires switching from sh to bash.

This reduces the number of times the target filename needs to be written to 1.

Expand the comment to explain the concatenation constraints.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Reviewed-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
This commit is contained in:
Andrew Cooper committed 2025-06-03 12:10:36 +01:00
1 parent ffa511b9da
commit 3905638437
2 files changed
+26 -12

No files matched your search

+13 -5
View File
@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -ex -o pipefail
@@ -22,6 +22,8 @@ domU_type="pvh"
domU_vif="'bridge=xenbr0',"
domU_extra_config=
retrieve_xml=
dom0_rootfs_extra_comp=()
dom0_rootfs_extra_uncomp=()
case "${test_variant}" in
### test: smoke test & smoke test PVH & smoke test HVM & smoke test PVSHIM
@@ -187,10 +189,16 @@ Kernel \r on an \m (\l)
rm -rf rootfs
fi
# Dom0 rootfs
cp binaries/ucode.cpio binaries/dom0-rootfs.cpio.gz
cat binaries/rootfs.cpio.gz >> binaries/dom0-rootfs.cpio.gz
cat binaries/xen-tools.cpio.gz >> binaries/dom0-rootfs.cpio.gz
# Dom0 rootfs. The order of concatenation is important; ucode wants to come
# first, and all uncompressed must be ahead of compressed.
dom0_rootfs_parts=(
binaries/ucode.cpio
"${dom0_rootfs_extra_uncomp[@]}"
binaries/rootfs.cpio.gz
binaries/xen-tools.cpio.gz
"${dom0_rootfs_extra_comp[@]}"
)
cat "${dom0_rootfs_parts[@]}" > binaries/dom0-rootfs.cpio.gz
# test-local configuration
mkdir -p rootfs
+13 -7
View File
@@ -28,6 +28,8 @@ extra = "root=/dev/ram0 console=hvc0"
memory = 512
'
DOMU_CFG_EXTRA=""
dom0_rootfs_extra_comp=()
dom0_rootfs_extra_uncomp=()
# Select test variant.
if [ "${TEST}" = "ping" ]; then
@@ -71,6 +73,7 @@ do
sleep 1
done | argo-exec -p 28333 -d 0 -- /bin/echo
"
dom0_rootfs_extra_comp+=(binaries/argo.cpio.gz)
DOM0_CMD="
insmod /lib/modules/\$(uname -r)/updates/xen-argo.ko
xl -vvv create /etc/xen/domU.cfg
@@ -103,13 +106,16 @@ find . | cpio -H newc -o | gzip >> ../binaries/domU-rootfs.cpio.gz
cd ..
rm -rf rootfs
# Dom0 rootfs
cp binaries/ucode.cpio binaries/dom0-rootfs.cpio.gz
cat binaries/rootfs.cpio.gz >> binaries/dom0-rootfs.cpio.gz
cat binaries/xen-tools.cpio.gz >> binaries/dom0-rootfs.cpio.gz
if [[ "${TEST}" == argo ]]; then
cat binaries/argo.cpio.gz >> binaries/dom0-rootfs.cpio.gz
fi
# Dom0 rootfs. The order of concatenation is important; ucode wants to come
# first, and all uncompressed must be ahead of compressed.
dom0_rootfs_parts=(
binaries/ucode.cpio
"${dom0_rootfs_extra_uncomp[@]}"
binaries/rootfs.cpio.gz
binaries/xen-tools.cpio.gz
"${dom0_rootfs_extra_comp[@]}"
)
cat "${dom0_rootfs_parts[@]}" > binaries/dom0-rootfs.cpio.gz
# test-local configuration
mkdir -p rootfs
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.