Repository navigation
ci: Cover composefs upgrade paths (Fedora 44 upgrade, 1.16 bridge, btrfs) - #18
cgwalters-bot wants to merge 3 commits into
Conversation
7cd088e to
818f34c
Compare
818f34c to
89ce000
Compare
It was excluded in bb674f1 because the published Fedora 44 image shipped a bootc that deadlocked when running GC after a pull (bootc-dev#2364). The fix (71ad2d3) is in 1.16.8, and quay.io/fedora/fedora-bootc:44 now ships bootc 1.16.10, so the job passes again. Generated-by: AI
btrfs is one of the two filesystems where a sealed composefs system can enforce fs-verity, but no CI job installed onto it. Add one Fedora 44 leg, sealed UKI with systemd-boot, so fs-verity enforcement on btrfs is covered too. CentOS is left out as its kernel has no btrfs. The leg is added with a computed include list rather than a new matrix axis, so it's one job rather than multiplying the existing matrix. Generated-by: AI
test-49-composefs-1-16-bridge was opt-in and required externally prepared fixture images, so nothing ran it and the 1.16.0 UKI upgrade path was untested in practice. Build the fixtures from the tree instead. The stager is the current UKI image with bootc swapped for the pinned 1.16.0 Koji RPM, and its initramfs and UKI regenerated by that version, so the install, the initramfs and the UKI arguments are all 1.16.0's. The bridge and upgrade images are the existing test image and synthetic upgrade image, labeled as the test expects. `just test-composefs-bridge` does all of it and CI runs it for sealed and unsealed on Fedora 44 (Koji only has 1.16.0 as an fc45 build, which installs on 44). It runs with the rest of the heavy jobs rather than on a schedule: it takes about as long as a test-integration leg, and there's no scheduled CI workflow whose failures anyone would see. Generated-by: AI
89ce000 to
ccc70d3
Compare
|
Heads-up: on current upstream main this PR's 1.16 stager fixture fails at install ("Failed to find ostree/prepare-root.conf in /usr/lib or /etc"). Upstream 0c2f487 drops Generated-by: https://github.com/cgwalters/#llms |
|
❌ dispatch handed back no result because required data was missing. Its reason:
|
CI didn't cover several composefs upgrade paths. This closes three of those gaps.
fedora-bootc:44now ships 1.16.10.just test-composefs-bridge sealed|unsealednow builds them from the tree. The stager is the current UKI image with bootc swapped for the pinned 1.16.0 Koji RPM (checksum verified; the version-lockedbootc-testsandsystem-reinstall-bootcare removed first, so the downgrade still gets dependency checks), and its initramfs and UKI are regenerated by 1.16.0. The target fails early unless the base is Fedora on x86_64. A newtest-composefs-bridgejob runs both modes on Fedora 44. It runs with the heavy jobs instead of nightly: it takes less time than an existing sealed UKI leg, and there is no scheduled CI workflow whose failures anyone would see.include, so it doesn't multiply the matrix.Cost (full-suite runs only;
ci/tier-1adds nothing): 4 more jobs, next to about 19 test-integration legs. From a recent merge-queue run: an upgrade leg takes about 20 min, and a sealed UKI integration leg about 50 min, which the btrfs leg should match. Each bridge leg is one build plus one 4-boot VM run: 24 min on a devspace, including the package build.Tested on RHEL 10 devspaces, following the CI job steps (
just build-fetchand the samejusttargets):just test-upgradewith Fedora 44 and composefs: passed (booted 1.16.10, upgraded, readonly suite);just test-composefs-bridge unsealedandsealed: 1.16.0 install (the test checked the binary's checksum), then switch, upgrade, rollback andcomposefs-gc --assert-no-op, all passed;just test-composefs systemd btrfs uki sealed: passed (plan-01-readonly and plan-24-image-upgrade-reboot, installed on btrfs);--nodeps, Fedora/x86_64 check, empty label context),just test-composefs-bridge unsealedandsealedpassed again at this head;ubuntu-26.04label, SC2129 style).This backs the upgrade and btrfs claims in the composefs stabilization work (following bootc-dev#2483): once it lands, its limitations text no longer needs to say that btrfs is untested or that the bridge test and the Fedora 44 upgrade are not in CI.
Generated-by: https://github.com/cgwalters/#llms
Review draft in cgwalters-forge, not upstream yet. This section is removed when the PR is opened upstream.
bootc-dev/bootc, basemainPVTI_lADOE9oHIs4BlJLczg9kESETo review:
/promoteon a line of its own, to open it upstream, ready for review. Either covers only the commits pushed so far.Signed-off-by: Colin Walters <walters@verbum.org>to the commits lacking it (the bot's and yours; anyone else's only if you ask), with you as committer./draftline (in the same comment or before) to open it upstream as a draft (/readyundoes that).