From 320329d361033ac9622d7f43531ac23a35f7b79a Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Tue, 10 Mar 2026 13:09:14 +0000 Subject: [PATCH 1/2] bootc: Update revdep test for current bootc main bootc now depends only on the cfsctl crate, which re-exports the other composefs-rs crates. Simplify the patch to only override cfsctl. Also pass all four required arguments through to bootc's test-composefs target (bootloader, filesystem, boot_type, seal_state), defaulting to the sealed UKI configuration that build-sealed produces. Assisted-by: OpenCode (Claude claude-opus-4-6) Signed-off-by: Colin Walters --- bootc/Justfile | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/bootc/Justfile b/bootc/Justfile index c040ded5..3bf81778 100644 --- a/bootc/Justfile +++ b/bootc/Justfile @@ -53,16 +53,15 @@ patch: clone echo "Patching bootc Cargo.toml to use $_COMPOSEFS_SRC" - # Add [patch] section with the real local path + # Add [patch] section with the real local path. + # bootc only depends on `cfsctl` which re-exports the other composefs-rs crates. # bootc's Justfile will auto-detect this via `cargo xtask local-rust-deps` # and bind-mount it into the container build (mapping /home -> /var/home as needed) { echo '' echo '# Patched by composefs-rs CI to test against local composefs-rs' - echo '[patch."https://github.com/containers/composefs-rs"]' - echo "composefs = { path = \"$_COMPOSEFS_SRC/crates/composefs\" }" - echo "composefs-boot = { path = \"$_COMPOSEFS_SRC/crates/composefs-boot\" }" - echo "composefs-oci = { path = \"$_COMPOSEFS_SRC/crates/composefs-oci\" }" + echo '[patch."https://github.com/composefs/composefs-rs"]' + echo "cfsctl = { path = \"$_COMPOSEFS_SRC/crates/cfsctl\" }" } >> Cargo.toml # Patch the workspace lints to allow missing_docs for composefs-rs crates @@ -70,7 +69,7 @@ patch: clone sed -i 's/missing_docs = "deny"/missing_docs = "allow"/' Cargo.toml # Update Cargo.lock so the patch is recognized by cargo xtask local-rust-deps - cargo update composefs composefs-boot composefs-oci + cargo update cfsctl echo "bootc patched successfully" @@ -85,12 +84,13 @@ build: patch # Run bootc composefs tests using local composefs-rs # Since the patch uses real local paths, no symlinks or special env vars needed -test: build +# Parameters match bootc's test-composefs target signature +test bootloader="systemd" filesystem="ext4" boot_type="uki" seal_state="sealed": build #!/bin/bash set -euo pipefail cd "$COMPOSEFS_BOOTC_PATH" - echo "Running bootc composefs tests..." - just test-composefs + echo "Running bootc composefs tests (bootloader={{bootloader}}, filesystem={{filesystem}}, boot_type={{boot_type}}, seal_state={{seal_state}})..." + just test-composefs {{bootloader}} {{filesystem}} {{boot_type}} {{seal_state}} # Clean the bootc checkout and any patches clean: @@ -120,6 +120,11 @@ config: COMPOSEFS_BOOTC_REF - Override bootc git ref (branch/tag/PR) COMPOSEFS_BOOTC_REPO - Override bootc git repository + Test Parameters: + just bootc/test # Default: systemd + ext4 + uki + sealed + just bootc/test grub ext4 bls unsealed # grub + ext4 + BLS (unsealed) + just bootc/test systemd btrfs uki sealed # systemd-boot + btrfs + UKI (sealed) + Example Usage: just bootc/build # Clone main, patch, and build COMPOSEFS_BOOTC_REF=v1.2.0 just bootc/build # Use specific tag From d3bff5a1490439542757a7f3af6a0dabf9fd30e9 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Tue, 10 Mar 2026 13:09:19 +0000 Subject: [PATCH 2/2] ci: Bump bootc CI timeout to 2h The bootc revdep test was timing out at 60 minutes; give it headroom with a 2-hour limit. Assisted-by: OpenCode (Claude claude-opus-4-6) Signed-off-by: Colin Walters --- .github/workflows/bootc-revdep.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/bootc-revdep.yml b/.github/workflows/bootc-revdep.yml index decbf2a9..dcde0853 100644 --- a/.github/workflows/bootc-revdep.yml +++ b/.github/workflows/bootc-revdep.yml @@ -22,7 +22,7 @@ jobs: bootc-test: name: Build and test bootc with local composefs-rs runs-on: ubuntu-24.04 - timeout-minutes: 60 + timeout-minutes: 120 steps: - name: Checkout repository