You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
bootc: extend test-49 bridge to a >=1.16.4 stager (stages V1 directly) #19
Follow-up to bootc#2248 and forge bootc#18. test-49 only pins bootc 1.16.0, which stages the V2 fallback. 1.16.4+ parse composefs.digest= and stage V1 directly (and seal a V1 digest under bare composefs=), which nothing tests.
Plan:
Parametrize test-49 by the stager version and expected staged format: env BOOTC_bridge_stager_version (1.16.0 | 1.16.4) and BOOTC_bridge_expected_format (v2 | v1); assert-old-fixture checks the given version; boot1 asserts the expected format instead of hard-coded v2; boot2/3 follow from it.
Add a second pin next to the 1.16.0 one in the Justfile: bootc-1.16.4-1.fc44 (Koji tags coreos-pool and f44-updates), with RPM and /usr/bin/bootc sha256; generalize just test-composefs-bridge to take the stager (e.g. test-composefs-bridge <seal_state> [stager=1160|1164]).
The stager Dockerfile should mostly work unchanged (1.16.4's ukify also takes --rootfs); check its seal-uki differences and that the current client accepts a 1.16.4-sealed image (the bare composefs= V1/V2 mismatch reported on #2248).
Add CI legs (sealed+unsealed) or fold into the existing bridge job matrix; +2 jobs.
The Composefs Stable board's copy of this item said:
Follow-up to bootc-dev/bootc#2248 and cgwalters-forge/bootc#18: test-49 only pins bootc 1.16.0, which stages the V2 fallback. bootc 1.16.4 and later parse composefs.digest= and stage V1 directly (and seal a V1 digest under bare composefs=), which nothing tests. Plan: parametrize test-49 by stager version and expected format, pin bootc-1.16.4-1.fc44 next to 1.16.0, and add sealed and unsealed CI legs.
Not done. None of the 40 PRs merged into bootc-dev/bootc since this issue was opened (2026-09-26) touches test-49. On upstream main, test-49-composefs-1-16-bridge.nu still asserts bootc 1.16.0 and a V2 stage. The Justfile has no test-composefs-bridge target and ci.yml has no bridge job. Its last change is still the #2248 commits (75c779c3, 2026-09-23).
The fix is written but not merged. It is in cgwalters-forge/bootc#30, a draft that is stacked on draft #18. Neither has been promoted upstream, and neither has reviews or comments. #30 covers every part of the plan:
test-49 takes the stager version, the expected format and the install mode (sealed, unsealed or bls). It reads the booted EROFS format from the composefs header.
It pins bootc-1.16.4-1.fc44 next to 1.16.0, with just test-composefs-bridge MODE [1.16.0|1.16.4].
It adds two CI legs, 1.16.4 sealed UKI and 1.16.4 BLS, for four bridge legs in total. Note this is BLS rather than the unsealed leg the issue suggested.
The PR reports devspace runs at 1ad219c1 (bls 1.16.4, sealed 1.16.4 and sealed 1.16.0 passed). Fork CI is off, so there is no CI run to link.
#36 is stacked on top and is an extension of this work, not part of this issue.
Why there is no job plan: an implement run would only redo #30. Also, cgwalters-forge/bootc is not in the repos bounds of dispatch.toml, so a hosted plan for it would be refused. The rebase can be done by the bot that owns #30 or by the operator when promoting. Once #30 lands upstream, this issue can be closed against it.
(Run status from 2026-10-17T10:58:14Z, re-posted by the bot without the agent's own words. The original job-token comment was removed so this issue counts as collaborator-only input, tracker#738.)
Still valid, and the fix is already written. It needs the operator to decide how it lands (option 3: no job plan).
Upstream has not changed since the 17 Oct triage. test-49-composefs-1-16-bridge.nu was last changed by #2248 (75c779c3, 23 Sep). It still pins only 1.16.0 and expects a V2 stage. No upstream PR touches it.
Where the fix is: draft cgwalters-forge/bootc#30. It covers all four steps of the plan: it parametrizes test-49, pins bootc-1.16.4-1.fc44, adds just test-composefs-bridge MODE [1.16.0|1.16.4] and adds CI legs for sealed 1.16.4 and BLS 1.16.4. It does not cover the UKI case where 1.16.4 stages onto a 1.16.0 install, which is bootc-dev/bootc#2334 (still open). It was rebased on 17 Oct onto upstream 3c5d235a and is mergeable, one docs-only commit behind upstream main. Its comment reports that just validate and the bls 1.16.4, sealed 1.16.4 and sealed 1.16.0 legs passed on a devspace at bd84fec9. Fork CI is off, so there is no run to link.
What blocks it:#30 contains all three of #18's commits. One of them was rewritten (354c29be) to fix the 1.16 stager install, which upstream 0c2f4879 broke by dropping prepare-root.conf. #18 itself is still at the broken ccc70d3c. Bot runs that tried to refresh #18 and #30 on 17 Oct both stopped because the series edits .github/workflows/ci.yml. cgwalters-forge/bootc is in dispatch's repos bounds but not in [unprotected_files] (dispatch.toml), so no agent run can deliver this series. An implement plan would hit the same wall, or just redo #30.
Decision for @cgwalters: choose one.
(a) Review #30 and promote it upstream as one PR that supersedes #18, then close #18.
(b) Push 354c29be onto #18 by hand, then promote #18 and then #30 as a stack.
(c) Add cgwalters-forge/bootc to [unprotected_files]. The org ruleset 25084478 already requires an approving review there. A fix run could then refresh both PRs.
(a) is the least work. Once the change merges upstream, this issue can close against it. #36, stacked on #30 and now conflicting, is an extension and is outside this issue.
Question for the operator (from the audit of the needs-human queue): Answered by the tracker#7 choice: review forge bootc#30 as one PR superseding #18 (A), hand-push the fix onto #18 (B), or unprotect bootc workflows for bot runs (C)?
The board's Why for this item was: Follow-up from forge bootc#18: bridge only covered 1.16.0; >=1.16.4 stages V1 directly (#2248). Stacked on #18. Result: bridge 1.16.4 BLS, 1.16.4 sealed UKI, 1.16.0 sealed + validate + unit-tests passed on a 16-core devspace.
Activity
cgwalters-bot commentedon Sep 26, 2026
The Composefs Stable board's copy of this item said:
cgwalters-bot commentedon Oct 17, 2026
Board scheduler: no plan. A triage run is asked whether this is done; it answers here. Delete this comment to ask again.
cgwalters-bot commentedon Oct 17, 2026
Not done. None of the 40 PRs merged into bootc-dev/bootc since this issue was opened (2026-09-26) touches test-49. On upstream
main,test-49-composefs-1-16-bridge.nustill assertsbootc 1.16.0and a V2 stage. The Justfile has notest-composefs-bridgetarget andci.ymlhas no bridge job. Its last change is still the #2248 commits (75c779c3, 2026-09-23).The fix is written but not merged. It is in cgwalters-forge/bootc#30, a draft that is stacked on draft #18. Neither has been promoted upstream, and neither has reviews or comments. #30 covers every part of the plan:
bootc-1.16.4-1.fc44next to 1.16.0, withjust test-composefs-bridge MODE [1.16.0|1.16.4].The PR reports devspace runs at 1ad219c1 (
bls 1.16.4,sealed 1.16.4andsealed 1.16.0passed). Fork CI is off, so there is no CI run to link.What's left is not agent work:
/promotethem to bootc-dev/bootc.mainand GitHub reports it as conflicting. Its files (ci.yml,Justfile,tmt/plans/integration.fmf,tmt/tests/tests.fmf) overlap later merges such as ci: Fetch grub-cc from Fedora Koji bootc-dev/bootc#2575.Why there is no job plan: an implement run would only redo #30. Also,
cgwalters-forge/bootcis not in thereposbounds ofdispatch.toml, so a hosted plan for it would be refused. The rebase can be done by the bot that owns #30 or by the operator when promoting. Once #30 lands upstream, this issue can be closed against it.cgwalters-bot commentedon Oct 18, 2026
✅ dispatch ended well. Result: #19 (comment)
(Run status from 2026-10-17T10:58:14Z, re-posted by the bot without the agent's own words. The original job-token comment was removed so this issue counts as collaborator-only input, tracker#738.)
Generated-by: https://github.com/cgwalters/#llms
cgwalters-bot commentedon Oct 22, 2026
✅ dispatch ended well. Result: #19 (comment)
cgwalters-bot commentedon Oct 22, 2026
Still valid, and the fix is already written. It needs the operator to decide how it lands (option 3: no job plan).
Upstream has not changed since the 17 Oct triage.
test-49-composefs-1-16-bridge.nuwas last changed by #2248 (75c779c3, 23 Sep). It still pins only 1.16.0 and expects a V2 stage. No upstream PR touches it.Where the fix is: draft cgwalters-forge/bootc#30. It covers all four steps of the plan: it parametrizes test-49, pins
bootc-1.16.4-1.fc44, addsjust test-composefs-bridge MODE [1.16.0|1.16.4]and adds CI legs for sealed 1.16.4 and BLS 1.16.4. It does not cover the UKI case where 1.16.4 stages onto a 1.16.0 install, which is bootc-dev/bootc#2334 (still open). It was rebased on 17 Oct onto upstream 3c5d235a and is mergeable, one docs-only commit behind upstream main. Its comment reports thatjust validateand thebls 1.16.4,sealed 1.16.4andsealed 1.16.0legs passed on a devspace at bd84fec9. Fork CI is off, so there is no run to link.What blocks it: #30 contains all three of #18's commits. One of them was rewritten (354c29be) to fix the 1.16 stager install, which upstream 0c2f4879 broke by dropping
prepare-root.conf. #18 itself is still at the broken ccc70d3c. Bot runs that tried to refresh #18 and #30 on 17 Oct both stopped because the series edits.github/workflows/ci.yml.cgwalters-forge/bootcis in dispatch'sreposbounds but not in[unprotected_files](dispatch.toml), so no agent run can deliver this series. An implement plan would hit the same wall, or just redo #30.Decision for
@cgwalters: choose one.(a) Review #30 and promote it upstream as one PR that supersedes #18, then close #18.
(b) Push 354c29be onto #18 by hand, then promote #18 and then #30 as a stack.
(c) Add
cgwalters-forge/bootcto[unprotected_files]. The org ruleset 25084478 already requires an approving review there. A fix run could then refresh both PRs.(a) is the least work. Once the change merges upstream, this issue can close against it. #36, stacked on #30 and now conflicting, is an extension and is outside this issue.
cgwalters-bot commentedon Oct 26, 2026
Question for the operator (from the audit of the needs-human queue): Answered by the tracker#7 choice: review forge bootc#30 as one PR superseding #18 (A), hand-push the fix onto #18 (B), or unprotect bootc workflows for bot runs (C)?
The board's Why for this item was: Follow-up from forge bootc#18: bridge only covered 1.16.0; >=1.16.4 stages V1 directly (#2248). Stacked on #18. Result: bridge 1.16.4 BLS, 1.16.4 sealed UKI, 1.16.0 sealed + validate + unit-tests passed on a 16-core devspace.
Generated-by: https://github.com/cgwalters/#llms
cgwalters-bot commentedon Oct 27, 2026
Duplicate of #7: forge bootc#30 already implements this plan, and it waits on the review question there.
Generated-by: https://github.com/cgwalters/#llms