1
0
mirror of https://github.com/containers/bootc.git synced 2026-02-05 15:45:53 +01:00
Commit Graph

3556 Commits

Author SHA1 Message Date
Gursewak Mangat
00dea6e440 Merge pull request #1521 from gursewak1997/fix-auto-review-perms
Add missing perms and fix reviewer assignment API call
2025-08-15 11:46:33 -07:00
Colin Walters
eb717ab45f Merge pull request #1512 from cgwalters/drop-grub-feature
Map grub feature to composefs-backend and import parser/bls
2025-08-15 20:41:55 +02:00
Colin Walters
e99f5cc2d0 Merge pull request #1518 from cgwalters/drop-store-abstraction
store: Remove dynamic abstraction
2025-08-15 20:23:45 +02:00
Colin Walters
7018168403 bls_config: use crate to compare UAPI versions
Default string comparisons are wrong for this.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-08-15 17:16:50 +02:00
Colin Walters
cbb6eaa70f bls_config: Rework to be more spec compliant
- Handle multiple initrd entries.
- Add support for machine-id and sort-key.

To do this we can't just map the keys into JSON because we need
to handle multiple values. Switch to a manual parser.

Assisted-by: Gemini CLI+gemini-2.5-pro
Signed-off-by: Colin Walters <walters@verbum.org>
2025-08-15 17:16:50 +02:00
Johan-Liebert1
1a6e914a6f parser/bls: New file
Signed-off-by: Johan-Liebert1 <pragyanpoudyal41999@gmail.com>
Signed-off-by: Colin Walters <walters@verbum.org>
2025-08-15 17:16:50 +02:00
Colin Walters
376dda2836 Rename grub feature to composefs-backend
This should make it easier to incrementally merge changes
here to main.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-08-15 17:16:50 +02:00
Colin Walters
1324091858 Merge pull request #1519 from cgwalters/unbuffer-stdout
system-reinstall-bootc: Ensure stdout is flushed
2025-08-15 17:10:51 +02:00
Colin Walters
7d8229cfe3 system-reinstall-bootc: Ensure stdout is flushed
We're seeing a CI failure where the final reinstall message
isn't seen, I think this might fix it.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-08-15 16:04:08 +02:00
Colin Walters
c1b0a19540 Merge pull request #1515 from cgwalters/testing-farm-sync
ci/tmt: distro-sync ostree
2025-08-15 15:33:42 +02:00
Colin Walters
e7a3835946 ci/tmt: distro-sync ostree+systemd
This is a hackaround for https://gitlab.com/redhat/centos-stream/containers/bootc/-/issues/1174

Signed-off-by: Colin Walters <walters@verbum.org>
2025-08-15 14:21:49 +02:00
gursewak1997
98e9e4e661 Add missing perms and fix reviewer assignment API call 2025-08-15 00:53:31 -07:00
Colin Walters
82057f869c store: Remove dynamic abstraction
A while ago we added a trait in preparation for multiple backends.
The current composefs branch ignores it and has a bunch of
`if {} else {}`.

Looking at this, what I think will work better in the end is
actually a more refined version of the `if {} else {}` model
instead of trying to really flesh out this trait. It's
hard to say of course until we get there, but the trait
approach forces a high level of abstraction vs just trying
to factor out common code between two backends.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-08-15 09:33:27 +02:00
Gursewak Mangat
531cee5719 Merge pull request #1517 from gursewak1997/temp-workflow-test
fix: use gh pr edit to avoid JSON formatting issues
2025-08-14 13:21:22 -07:00
gursewak1997
44872ff4d1 fix: Use gh pr edit to avoid JSON formatting issues 2025-08-14 13:09:58 -07:00
Gursewak Mangat
d92333cb4f Merge pull request #1508 from gursewak1997/unset-gh-pat
Resolve GH_TOKEN conflict in auto-reviewer workflow
2025-08-14 12:44:58 -07:00
gursewak1997
5219fad736 add auto-reviewer workflow with built-in GITHUB_TOKEN 2025-08-14 12:38:11 -07:00
Colin Walters
c4bc043cb2 Merge pull request #1511 from SamD2021/fix/blockdev-loopback-cleanup-helper
fix(blockdev): include "internals" when spawning loopback-cleanup-helper
2025-08-14 10:53:03 +02:00
Sam Dasilva
2e81362e5c fix(blockdev): include "internals" when spawning loopback-cleanup-helper
Without the "internals" prefix, bootc fails to spawn the
loopback-cleanup-helper because the helper is only available
under the `bootc internals` subcommand.
This patch updates the spawned command to include "internals" before
the helper name so it runs as intended.

Signed-off-by: Sam Dasilva <samuelramos852@gmail.com>
2025-08-13 23:59:05 -04:00
gursewak1997
f66c53ab97 Resolve GH_TOKEN conflict in auto-reviewer workflow 2025-08-13 10:39:13 -07:00
Colin Walters
3e63596a12 Merge pull request #1503 from cgwalters/bump-composefs-rs
Bump composefs-fs
2025-08-13 19:18:55 +02:00
Johan-Liebert1
1d194cd67e Bump composefs-fs
Signed-off-by: Johan-Liebert1 <pragyanpoudyal41999@gmail.com>
2025-08-13 11:48:49 +02:00
John Eckersberg
8ed1134e9b Merge pull request #1500 from cgwalters/initramfs-bit
Add initramfs infrastructure
2025-08-08 15:47:09 -04:00
Colin Walters
09890a4df0 Merge pull request #1491 from gursewak1997/feature/auto-reviewer-rotation
Add automated PR reviewer rotation system
2025-08-08 11:52:36 -04:00
John Eckersberg
7ca0cafabd Merge pull request #1501 from cgwalters/update-major-minor-patch
build-sys: Some Cargo.toml cleanups
2025-08-08 11:46:18 -04:00
Colin Walters
54c0ba025d build-sys: Move further dev dependencies to workspace
Signed-off-by: Colin Walters <walters@verbum.org>
2025-08-08 10:57:07 -04:00
Colin Walters
87e8ac64b9 build-sys: Reorganize crate listings
Split `dependencies` into three sections:
- Internal deps (crates in the same workspace)
- Workspace deps
- Deps only used by that sub-crate

Also make everything alphabetical.

Assisted-by: Claude Code
Signed-off-by: Colin Walters <walters@verbum.org>
2025-08-08 10:16:51 -04:00
Colin Walters
2a4bfc8e7f build-sys: Move all common deps to workspace
General cleanup.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-08-08 10:16:51 -04:00
Colin Walters
792e546403 Merge pull request #1499 from rsturla/update-major-minor-patch
chore(deps): update cargo dependencies
2025-08-08 09:42:17 -04:00
Colin Walters
f61ba60bbc Add initramfs infrastructure
This adds scaffolding to install a stub binary which can
optionally be added into the initramfs;
prep for us doing real work during setup as we aim
to move to the native composefs backend.

The binary is *built* but is only installed by a
new `Makefile` target, so existing build system
users won't pick it up. Our development-only
`Dockerfile` gains a build option to use it
(and also ensures the initramfs is regenerated).

However previously we also discussed moving the fstab
logic into the initramfs:
https://github.com/bootc-dev/bootc/pull/1113

I might try doing that once this lands.

One notable thing is that even this trivial nearly-no-op
binary is still 4MB which I think is mostly due
to linking in a whole copy of prebuilt rust `std`.
In theory we could try going to `#[no_std]` but I
don't think it'll be viable once we start doing more here.
Probably most practical thing re size is `-Z build-std` + LTO.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-08-08 09:30:32 -04:00
Robert Sturla
a64ba5a574 chore(deps): upgrade incompatible versions, resolve breaking changes
Signed-off-by: Robert Sturla <robertsturla@outlook.com>
2025-08-08 14:01:57 +01:00
Robert Sturla
fd0f639ddc chore(deps): upgrade compatible versions, resolve deprecated functions
Signed-off-by: Robert Sturla <robertsturla@outlook.com>
2025-08-08 13:47:14 +01:00
Colin Walters
16b932e041 Merge pull request #1497 from jeckersb/mismatched_lifetime_syntaxes
Fix warnings for `mismatched_lifetime_syntaxes` lint
2025-08-07 20:56:54 -04:00
gursewak1997
efe603119e feat: add automated PR reviewer rotation system
- Auto-assign reviewers from MAINTAINERS.md on 3-week rotation
- Exclude PR author from self-assignment
- Trigger on PR open, ready-for-review, and pushes
- Preserve existing manual reviewer assignments
2025-08-07 14:12:19 -07:00
John Eckersberg
b133b39c00 Fix warnings for mismatched_lifetime_syntaxes lint
Rust 1.89 introduced this new lint[1], fix the handful of places where
it comes up across the repo.

[1] https://blog.rust-lang.org/2025/08/07/Rust-1.89.0/#mismatched-lifetime-syntaxes-lint

Signed-off-by: John Eckersberg <jeckersb@redhat.com>
2025-08-07 12:30:43 -04:00
bootc-actions-token[bot]
acba07b6fb Release 1.6.0
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
v1.6.0
2025-08-07 10:01:43 -04:00
ckyrouac
0da7858e4b ci: Refactor release action to use app and create-pull-request
This uses the token generated in the GitHub app that has a limited
scope. Also refactors the commit/push steps to use the
create-pull-request action rather than manually committing and pushing.
This simplifies the token usage when committing/pushing.

Signed-off-by: ckyrouac <ckyrouac@redhat.com>
2025-08-07 08:40:00 -04:00
Colin Walters
3758da2859 Merge pull request #1490 from cgwalters/kernel-cleanups-3
kernel_cmdline: More cleanups and API additions
2025-08-06 17:26:27 -04:00
Colin Walters
e260212745 Merge pull request #1493 from ckyrouac/release-time2
ci: Release every 3 weeks starting from 2025-08-04
2025-08-06 10:50:25 -04:00
ckyrouac
08d2c982f2 ci: Release every 3 weeks starting from 2025-08-04
This modifies the scheduled release to happen every 3 weeks regardless
of when the previous release happened. This aligns with the team's
schedule.

Assisted-by: Claude code
Signed-off-by: ckyrouac <ckyrouac@redhat.com>
2025-08-06 10:04:45 -04:00
Colin Walters
17b4f7bf92 kernel_cmdline: Drop to_lossy, add more utf8 variants
I don't think anything should use to_lossy() by default.
It's great to have a correct kernel argument parser that
doesn't bomb on non-UTF8 but at the same time in our code
we can just I think ignore kernel arguments which aren't UTF-8.

Maybe we should warn if e.g. we find a `root=<nonutf8` or
so but eh.

Everything else in the bootc codebase works in terms of
strings so let's just make it really easy to only
get strings out.

Implementation notes:

- I struggled with lifetimes in this one and couldn't
  get it to work to reuse the Parameter (byte oriented)
  parser and just reimplemented it in the str path
- When I tossed this problem at both Claude and Gemini
  they both gave up; and Gemini ended up deleting
  all the code and declaring success

Unit tests (after I manually fixed up all the lifetime
stuff in the core code) are
Assisted-by: Gemini-CLI

Signed-off-by: Colin Walters <walters@verbum.org>
2025-08-05 18:40:10 -04:00
Colin Walters
664f06e0c2 kernel: Retain original full parameter
In some cases we want to return the value exactly as it
was originally.

Also drop the test-only APIs, those were really never needed.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-08-05 17:42:22 -04:00
Colin Walters
c5044b0a09 Merge pull request #1487 from jeckersb/fix-autovendor-cli-path
Fix autovendor workflow CLI directory path
2025-08-05 14:32:56 -04:00
Colin Walters
64f92b87bf Merge pull request #1489 from miabbott/kill_update_generated_files
Revert "ci: periodically run update-generated"
2025-08-05 14:32:13 -04:00
Micah Abbott
6bb02940cc Revert "ci: periodically run update-generated"
This reverts commit 9e0a0f887b.

Signed-off-by: Micah Abbott <miabbott@redhat.com>
2025-08-05 14:24:48 -04:00
John Eckersberg
2245c1a03e Fix autovendor workflow CLI directory path
Update the autovendor GitHub workflow to use the correct path 'crates/cli'
instead of 'cli', which was causing the job to fail with "No such file or
directory" error.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: John Eckersberg <jeckersb@redhat.com>
2025-08-05 12:50:34 -04:00
John Eckersberg
06a643cf56 Merge pull request #1486 from cgwalters/kernel-cleanups-2-rename
kernel args: Shuffle module names
2025-08-05 12:18:34 -04:00
Colin Walters
1cbfdc8c87 Rename kernel.rs -> kernel_cmdline.rs
To clarify what this does more.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-08-05 09:56:05 -04:00
Colin Walters
18f890f9bb Rename kargs.rs -> bootc_kargs.rs
It's confusing we have both kargs.rs and kernel.rs where
the latter is also handling kernel arguments.

Clarify what this does.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-08-05 09:52:54 -04:00
Colin Walters
a279555b25 Merge pull request #1480 from cgwalters/composefs-prep-grub
Write nom parser for Grub menuentries
2025-08-05 01:35:21 -04:00