Skip to content

Follow up PR to #2004#2026

Merged
cgwalters merged 3 commits intobootc-dev:mainfrom
Johan-Liebert1:pr-followups
Mar 3, 2026
Merged

Follow up PR to #2004#2026
cgwalters merged 3 commits intobootc-dev:mainfrom
Johan-Liebert1:pr-followups

Conversation

@Johan-Liebert1
Copy link
Collaborator

@Johan-Liebert1 Johan-Liebert1 commented Feb 27, 2026

xtask: Add seal-state and boot-type options

seal-state: Required to switch between secure/insecure firmware options
boot-type: Required to send kargs to only bls installs

composefs/tests: More flexibility for insecure UKI testing

Update the CI matrix to include seal_state and boot_type. This does
not increase our matrix, but only rearranges it to be a bit more
meaningful. Earlier even when testing "insecure UKI", it still showed up
as "composefs-sealeduki-sdboot" which is incorrect.

This also allows us flexibility to, in future, test grub + UKI which is
disabled currently.

Update Justfile and the Dockerfile to make use of these new arguments.
Now we only sign the UKI, if seal_state == sealed, and in the Justfile
we disallow combinations that don't make sense, like BLS boot + sealed,
allowing missing verity (xfs) + sealed, etc.

@github-actions github-actions bot added the area/install Issues related to `bootc install` label Feb 27, 2026
@bootc-bot bootc-bot bot requested a review from henrywang February 27, 2026 07:21
@Johan-Liebert1 Johan-Liebert1 changed the title Follow up PR to https://github.com/bootc-dev/bootc/pull/2004 Follow up PR to #2004 Feb 27, 2026
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces several valuable improvements. The addition of structured logging across the composefs backend will significantly enhance observability. The refactoring to support both sealed and unsealed UKIs, along with storing the full UKI command line, adds important flexibility for testing and future use cases. Furthermore, the updates to the Justfile and xtask infrastructure to accommodate these new configurations are well-executed, consolidating multiple test recipes into a more maintainable, parameterized approach. My review includes one suggestion to improve code clarity in the xtask logic.

@Johan-Liebert1 Johan-Liebert1 force-pushed the pr-followups branch 5 times, most recently from e89e9e6 to 9b31c66 Compare February 27, 2026 10:24
@Johan-Liebert1
Copy link
Collaborator Author

Something's wrong with unsealed UKI case. Need to look into it

@Johan-Liebert1
Copy link
Collaborator Author

Also, we don't need unsealed + ext4 as the xfs case covers it. I'll remove that from matrix

@cgwalters
Copy link
Collaborator

Perhaps split out the first two commits separate from the larger test changes?

@Johan-Liebert1
Copy link
Collaborator Author

Split out the first two commits to #2032

@Johan-Liebert1 Johan-Liebert1 force-pushed the pr-followups branch 2 times, most recently from cdae3da to cc25035 Compare March 2, 2026 05:25
@Johan-Liebert1
Copy link
Collaborator Author

Okay, so this needs #2032 to prevent conflicts. Test failures should also be fixed by rebasing afterwards. I made a mistake here while trying to get the composefs cmdline from the UKI which is fixed in #2032

seal-state: Required to switch between secure/insecure firmware options
boot-type: Required to send kargs to only bls installs

Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
Update the CI matrix to include `seal_state` and `boot_type`. This does
not increase our matrix, but only rearranges it to be a bit more
meaningful. Earlier even when testing "insecure UKI", it still showed up
as "composefs-sealeduki-sdboot" which is incorrect.

This also allows us flexibility to, in future, test grub + UKI which is
disabled currently.

Update Justfile and the Dockerfile to make use of these new arguments.
Now we only sign the UKI, if `seal_state == sealed`, and in the Justfile
we disallow combinations that don't make sense, like BLS boot + sealed,
allowing missing verity (xfs) + sealed, etc.

Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
Remove "composefs-sealeduki-sdboot" variant

Only exclude ext4-unsealed-uki as we still want to run tests on unsealed
bls ext4 systems

Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
Copy link
Collaborator

@cgwalters cgwalters left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome!

I have to say as we keep growing the matrix here it sure is easy to spend Other People's Money in CI 😄 💸

It's mainly painful for us with flakes.

But...it shouldn't be too bad in theory in the future to also limit which variants get run on which PRs e.g. opt-in via label or other mechanism.

test_os: [fedora-43, centos-9, centos-10]
variant: [ostree, composefs-sealeduki-sdboot, composefs-sdboot, composefs-grub]
variant: [ostree, composefs]
filesystem: ["ext4", "xfs"]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as an aside we should probably have btrfs in this list too

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, but that will add a bunch more combinations to the matrix

if let Some(variant) = std::env::var("BOOTC_variant").ok() {
match variant.as_str() {
v @ "ostree" | v @ "composefs" => {
match (variant.as_str(), is_uki) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nonblocking but for followup: we could also validate the sealed/unsealed state here right?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, we can

@cgwalters cgwalters merged commit 242b756 into bootc-dev:main Mar 3, 2026
40 of 46 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/install Issues related to `bootc install`

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants