mirror of
https://github.com/containers/bootc.git
synced 2026-02-05 15:45:53 +01:00
Rework GHA testing: Use bcvk, cover composefs with tmt
Part 1: Use bcvk For local tests, right now testcloud+tmt doesn't support UEFI, see https://github.com/teemtee/tmt/issues/4203 This is a blocker for us doing more testing with UKIs. In this patch we switch to provisioning VMs with bcvk, which fixes this - but beyond that a really compelling thing about this is that bcvk is *also* designed to be ergonomic and efficient beyond just being a test runner, with things like virtiofs mounting of host container storage, etc. In other words, bcvk is the preferred way to run local virt with bootc, and this makes our TMT tests use it. Now a major downside of this though is we're effectively implementing a new "provisioner" for tmt (bypassing the existing `virtual`). In the more medium term I think we want to add `bcvk` as a provisioner option to tmt. Anyways for now, this works by discovers test plans via `tmt plan ls`, spawning a separate VM per test, and then using uses tmt's connect provisioner to run tests targeting these externally provisioned systems. Part 2: Rework the Justfile and Dockerfile This adds `base` and `variant` arguments which are propagated through the system, and we have a new `variant` for sealed composefs. The readonly tests now pass with composefs. Drop the continuous repo tests...as while we could keep that it's actually a whole *other* entry in this matrix. Assisted-by: Claude Code (Sonnet 4.5) Signed-off-by: Colin Walters <walters@verbum.org>
This commit is contained in:
@@ -45,8 +45,18 @@ dnf clean all
|
||||
cat <<KARGEOF >> /usr/lib/bootc/kargs.d/20-console.toml
|
||||
kargs = ["console=ttyS0,115200n8"]
|
||||
KARGEOF
|
||||
# And cloud-init stuff
|
||||
ln -s ../cloud-init.target /usr/lib/systemd/system/default.target.wants
|
||||
# And cloud-init stuff, unless we're doing a UKI which is always
|
||||
# tested with bcvk
|
||||
if test '!' -d /boot/EFI; then
|
||||
ln -s ../cloud-init.target /usr/lib/systemd/system/default.target.wants
|
||||
fi
|
||||
|
||||
# Allow root SSH login for testing with bcvk/tmt
|
||||
mkdir -p /etc/cloud/cloud.cfg.d
|
||||
cat > /etc/cloud/cloud.cfg.d/80-enable-root.cfg <<'CLOUDEOF'
|
||||
# Enable root login for testing
|
||||
disable_root: false
|
||||
CLOUDEOF
|
||||
|
||||
# Stock extra cleaning of logs and caches in general (mostly dnf)
|
||||
rm /var/log/* /var/cache /var/lib/{dnf,rpm-state,rhsm} -rf
|
||||
|
||||
Reference in New Issue
Block a user