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

73 Commits

Author SHA1 Message Date
Xiaofeng Wang
fece2e0b58 test: Fix bib test failure and add required package in bib test
error: cannot build manifest: no default fs set: mount "/boot"
requires a filesystem but none set

Signed-off-by: Xiaofeng Wang <henrywangxf@me.com>
2026-01-23 07:01:44 -05:00
Colin Walters
108c35baf9 tmt: Add bootc-image-builder integration test for issue #1907
Add a TMT test that exercises the mount point check fix from PR #1904.
The test builds a container image with an embedded disk.yaml that creates
a partition layout WITHOUT a separate /boot partition - just root (/)
with /boot/efi as a separate mount point.

This partition layout triggers the bug from issue #1907 where bootc's
empty rootfs verification would fail with:
  "Found entry in boot: efi"

The issue was that when /boot is a directory on the root filesystem
(not a separate partition), but /boot/efi IS a mount point on a different
device, the old code incorrectly saw "efi" as a regular directory entry
rather than recognizing it was a mount point boundary.

Verified that temporarily reverting the fix from PR #1904 causes this
test to fail with the expected error message.

This was already fixed by ab65078675
but we didn't realize at the time the scope.

Closes: https://github.com/bootc-dev/bootc/issues/1907
Signed-off-by: Colin Walters <walters@verbum.org>
2026-01-21 10:02:29 -05:00
Colin Walters
ebbd34834b ci: Use c9s for install-outside-container tests
The newer bootupd hasn't been rolled out to this image yet,
so this should avoid version skew problems.

See https://github.com/coreos/bootupd/pull/995

Signed-off-by: Colin Walters <walters@verbum.org>
2026-01-20 19:36:58 -05:00
ckyrouac
3e012d464f tmt: Fix var-mount test to use booted container image
Use copy-to-storage to add the booted container to podman storage
instead of pulling a remote image. This matches the pattern used
by other TMT tests and ensures we test the actual bootc under test.

Changes:
- Use localhost/bootc from copy-to-storage instead of remote image
- Disable LBIs via bind mount of /usr/share/empty
- Remove unnecessary host modifications (usr-overlay, dnf install, etc.)
- Use 100%FREE for root LV to ensure sufficient space for deployment

Assisted-by: OpenCode (Opus 4.5)
Signed-off-by: ckyrouac <ckyrouac@redhat.com>
Signed-off-by: Colin Walters <walters@verbum.org>
2026-01-20 19:36:58 -05:00
bootc-bot[bot]
9bb976d540 Release 1.12.1
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-01-15 19:53:46 -05:00
Chris Kyrouac
e074a41720 install: Move /var mount test to TMT to reduce disk usage (#1910)
The "install to-filesystem with separate /var mount" test was causing
disk space issues on GitHub Actions runners due to its large disk
image requirements (12GB for partitions with LVM). Moving it to a TMT
test allows it to run in a dedicated VM where disk space is not as
constrained.

The test verifies that bootc install to-filesystem correctly handles
scenarios where /var is on a separate filesystem, which is a common
production setup.

Changes:
- Remove the test from Rust integration tests (install.rs)
- Add new TMT test: test-32-install-to-filesystem-var-mount.sh
- Add package requirements (parted, lvm2, dosfstools, e2fsprogs)
- Update tests.fmf and integration.fmf with new test entry

Assisted-by: Claude Code (Opus 4.5)

Signed-off-by: ckyrouac <ckyrouac@redhat.com>
2026-01-15 15:38:15 +08:00
Colin Walters
3b0f38aa19 utils: Always print status to stderr
If we were waiting on a lock as part of `bootc status --format=json`
this information message would end up in stderr, corrupting the output.

Signed-off-by: Colin Walters <walters@verbum.org>
2026-01-14 16:45:50 -05:00
Colin Walters
a6c87c6667 build-sys: Remove separate integration test image
The previous commit consolidated test content (nushell, cloud-init, etc.)
into the base image. This completes that work by removing the separate
`build-integration-test-image` target and updating all references.

Now `just build` produces the complete test-ready image directly,
simplifying the build pipeline and eliminating the intermediate
`localhost/bootc-integration` image.

Also adds SKIP_CONFIGS support for the coreos testing workflow, which
skips LBIs, test kargs, and install configs that would conflict with FCOS.

Signed-off-by: Colin Walters <walters@verbum.org>
2026-01-08 14:34:23 +01:00
bootc-bot[bot]
0ee9b2276d Release 1.12.0
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-01-06 20:19:44 +01:00
Huijing Hei
c7e3d10658 tests/plan: add PubkeyAcceptedAlgorithms=+ssh-rsa to ssh-option
To workaround the issue that failed to ssh after reboot, can not
reproduce locally.

Signed-off-by: Huijing Hei <hhei@redhat.com>
2026-01-06 17:17:18 +01:00
Huijing Hei
44b1ccca57 tests: Add test test-tmt-on-coreos
To workaround https://github.com/bootc-dev/bcvk/issues/174, will
build `bootc-integration-coreos` container firstly and save it to
`bootc.tar`, then load it to install.

Signed-off-by: Huijing Hei <hhei@redhat.com>
2026-01-06 17:17:18 +01:00
Pragyan Poudyal
0e2ad92675 test/tmt: Use bootc usroverlay for /usr overlay mount (#1882)
Previously we were mounting a rw overlay on top of /usr using
`mount -t overlay -olowerdir=/usr,workdir=...,upperdir=... overlay /usr`
which caused the kernel to throw
`overlayfs: maximum fs stacking depth exceeded`
possibly because the mountpoint was the same as the lowerdir

Also, move the overlay mount BEFORE we mask off `/sysroot/ostree` else
bootc throws `error: Read only filesystem`

Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
2025-12-29 15:59:47 +08:00
Colin Walters
f7b41cc1eb cli: Fix switch --mutate-in-place to work outside booted environment
Move the --mutate-in-place handling before get_storage() so it doesn't
require a fully booted ostree environment. This enables use cases like
Anaconda where we're chrooted into a non-booted system.

Closes: #1854
Assisted-by: OpenCode (claude-sonnet-4-20250514)
Signed-off-by: Colin Walters <walters@verbum.org>
2025-12-16 21:11:24 -05:00
Colin Walters
3c861fb27a podstorage: Improve authfile handling more
We should match exactly the logic we use with containers-image-proxy.

- If bootc doesn't have auth setup, then we need to not let podman
  fall back to the defaults
- Always pass a copy of the auth in a tempfile so we aren't
  reliant on absolute paths as we're continually trying to
  reduce our usage of those.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-12-16 18:08:15 -05:00
Joseph Marrero Corchado
988fd4a46b lib: Add experimental unified storage support for install
Add an experimental --experimental-unified-storage flag to bootc install
that uses bootc's container storage (/usr/lib/bootc/storage) to pull
images first, then imports from there. This is the same approach used
for logically bound images (LBIs).

Background:
The unified storage approach allows bootc to share container images with
podman's storage, reducing disk space and enabling better integration
with podman.

Changes:
- Add --experimental-unified-storage CLI flag to install subcommands
- Add sysroot_path parameter to prepare_for_pull_unified() and pull_unified()
  to handle the different mount points during install vs upgrade/switch
- Handle container-storage transport
- Skip pull in prepare_for_pull_unified() if image already exists in
  bootc storage
- Add TMT test for install with unified storage flag
- Add TMT test for switching to unified storage on running system

The sysroot_path fix is needed because during install the target disk
is mounted at a specific path (e.g., /var/mnt), not /sysroot. Skopeo
needs the actual filesystem path to find the bootc storage.

Relates: #20

Assisted-by: Claude Code (Sonnet 4.5)
Signed-off-by: Joseph Marrero Corchado <jmarrero@redhat.com>
2025-12-14 09:42:05 -05:00
Wei Shi
a5784832d0 lib: Add --from-downloaded flag for bootc upgrade
Add a new --from-downloaded flag to bootc upgrade that allows users to
unlock a staged deployment created with --download-only without fetching
updates from the container image source.

This provides a way to apply already-downloaded updates without triggering
a fetch operation, which is useful for scheduled maintenance workflows where
the update was downloaded earlier and should now be applied at a scheduled
time.

Usage:
  # Download update without applying
  bootc upgrade --download-only

  # Later: Apply the staged update (without fetching from image source)
  bootc upgrade --from-downloaded

  # Or: Apply staged update and reboot immediately
  bootc upgrade --from-downloaded --apply

The flag conflicts with --check and --download-only as those operations
have different purposes. It can be combined with --apply to immediately
reboot after unlocking the staged deployment.

This commit also updates the documentation (upgrades.md) to describe all
three ways to apply a download-only update, and updates the download-only
test case (test-25) to use --from-downloaded instead of plain
'bootc upgrade' when clearing the download-only flag.

Assisted-by: Claude Code (Sonnet 4.5)
Signed-off-by: Wei Shi <wshi@redhat.com>
2025-12-12 13:52:56 -05:00
Colin Walters
6f69534f9b Rework sealed build process
Main goal is to reduce signing logic duplication between the systemd-boot
and UKI generation.

However, this quickly snowballed into wanting to actually verify
by providing a custom secure boot keys to bcvk that things worked.
This depends on https://github.com/bootc-dev/bcvk/pull/170

Now as part of that, I ran into what I think are bugs in pesign;
this cuts things back over to using sbsign. I'll file a tracker for that
separately.

Finally as part of this, just remove the TMT example that builds
a sealed image but doesn't actually verify it works - it's already
drifted from what we do outside here. Ultimately what we need
is to shift some of this into the Fedora examples and we just
fetch it here anyways.

Assisted-by: Claude Code (Sonnet 4.5)
Signed-off-by: Colin Walters <walters@verbum.org>
2025-12-11 14:43:26 -05:00
Wei Shi
c325582f50 lib: Add --download-only flag for upgrade
Add support for downloading and staging updates without automatic
application on reboot. This allows users to prepare updates and apply
them at a controlled time.

User-facing changes:
- Add --download-only flag to bootc upgrade command
- bootc upgrade --download-only: stages deployment in download-only mode
- bootc upgrade (no flags): clears download-only mode if present
- bootc upgrade --apply: clears download-only mode and immediately reboots
- bootc upgrade --check: read-only, doesn't change download-only state
- bootc status shows "Download-only: yes/no" for staged deployments in verbose mode
- Garbage collection automatically cleans up unreferenced images after staging

Implementation details:
- Internally uses OSTree finalization locking APIs
- Sets opts.locked in SysrootDeployTreeOpts when staging deployments
- Added change_finalization() method to SysrootLock wrapper
- Tracks lock state changes separately from image digest changes
- Field name in BootEntry is download_only (Rust), downloadOnly (JSON)
- Verbose status display uses "Download-only" label (matches Soft-reboot pattern)
- Uses deployment.is_finalization_locked() API (OSTree v2023.8+)
- Always emits downloadOnly field in JSON output for consistency

Testing and documentation:
- New dedicated test: test-25-download-only-upgrade.nu (4-boot workflow)
- Test verifies: switch → upgrade --download-only → reboot (stays old) →
  re-stage → upgrade (clear) → reboot (applies)
- Updated docs/src/upgrades.md with comprehensive workflow examples
- Includes notes about reboot behavior and image switching
- Generated man pages and JSON schemas updated
- All test fixtures updated with downloadOnly field

The download-only flag is only available for upgrade, not switch.
The implementation is designed to support future composefs backend.

Assisted-by: Claude Code (Sonnet 4.5)
Signed-off-by: Wei Shi <wshi@redhat.com>
2025-12-10 12:58:38 -05:00
Xiaofeng Wang
3a7dd85ff1 test: Update to work with OSCI gating test
Signed-off-by: Xiaofeng Wang <henrywangxf@me.com>
2025-12-10 11:12:56 -05:00
Xiaofeng Wang
6391cf83e3 test: Add more delay for bootc to settle and avoid flaky (#1817)
Signed-off-by: Xiaofeng Wang <henrywangxf@me.com>
2025-12-09 14:10:23 +08:00
Xiaofeng Wang
6a9309e47b test: Check rpm-ostree and rpm-ostreed service status
And collect info for flaky "error: System transaction in progress"

Signed-off-by: Xiaofeng Wang <henrywangxf@me.com>
2025-12-08 09:25:29 -05:00
Pragyan Poudyal
2c34df6860 project: Fix typos
Fix a few typos across the project. Also update some comments/error
messages

Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
2025-12-01 13:47:16 -05:00
Colin Walters
0a36eb1d84 xtask: Add distro-aware bind-storage-ro support for tmt tests
CentOS 9 lacks systemd.extra-unit.* support which is required for
--bind-storage-ro to work with bcvk. This was causing test failures
on centos-9 while working fine on Fedora.

Change the approach so tests express intent via `extra.try_bind_storage: true`
metadata, and xtask handles the details:

- Detect distro by running the container image and parsing os-release
- Pass distro to tmt via --context=distro=<id>-<version>
- Only add --bind-storage-ro when test wants it AND distro supports it
- When bind storage is available, also set BOOTC_upgrade_image env var
- Tests can detect missing $env.BOOTC_upgrade_image and fall back to
  building the upgrade image locally

Add --upgrade-image CLI option to specify the upgrade image path,
replacing the old --env=BOOTC_upgrade_image approach.

Extract magic values to clear const declarations at the top of the file
for better maintainability.

Assisted-by: Claude Code (Sonnet 4.5)
Signed-off-by: Colin Walters <walters@verbum.org>
2025-11-25 22:48:37 -05:00
Colin Walters
93a5fca403 tests: Change the upgrade test to support fetching from host
This ensures it all can work much more elegantly/naturally
with sealed UKI builds - we don't want to do the build-on-target
thing.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-11-25 22:48:37 -05:00
Colin Walters
7f2b73d51d tests: Use --bind-storage-ro with bcvk
To make it easier to do upgrade tests.

Signed-off-by: Colin Walters <walters@verbum.org>
Co-authored-by: Xiaofeng Wang <henrywangxf@me.com>
Signed-off-by: Colin Walters <walters@verbum.org>
2025-11-25 22:48:37 -05:00
Colin Walters
17ff4bcd48 xtask: Move TMT infrastructure to tmt module and refactor YAML generation
Move TMT test runner code from xtask.rs to tmt module:
- `run_tmt()` and `tmt_provision()` functions
- Helper functions for VM management and SSH connectivity
- Related constants

Also refactor `update_integration()` to use serde_yaml::Value for
building YAML structures instead of string concatenation.

Add detailed error reporting for failed TMT tests:
- Assign run IDs using `tmt run --id`
- Display verbose reports with `tmt run -i {id} report -vvv`

Assisted-by: Claude Code (Sonnet 4.5)
Signed-off-by: Colin Walters <walters@verbum.org>
2025-11-25 22:48:37 -05:00
Colin Walters
de0a9f78c2 tmt: Generate integration.fmf from test code
We need to run most of our tests in a separate provisioned machine,
which means it needs an individual plan. And then we need a test
for that plan. And then we need the *actual test code*.

This "triplication" is a huge annoying pain.

TMT is soooo complicated, yet as far as I can tell it doesn't offer
us any tools to solve this. So we'll do it here, cut over to
generating the TMT stuff from metadata defined in the test file.

Hence adding a test is just:

- Write a new tests/booted/foo.nu
- `cargo xtask update-generated`

Signed-off-by: Colin Walters <walters@verbum.org>
2025-11-25 22:48:37 -05:00
Colin Walters
e747216980 cli: Fix rhsm feature propagation and manpage build order
The rhsm feature was not being propagated from the CLI crate to the
lib crate, causing `bootc internals publish-rhsm-facts` to never be
compiled in even when building with CARGO_FEATURES=rhsm.

I think this was broken when I refactored the build recently.

Change things so we build the manpages before the production
binary, ensuring the production binary always ends up with
the right feature flags.

Fixes: https://issues.redhat.com/browse/RHEL-130799
Assisted-by: Claude Code (Sonnet 4.5)
Signed-off-by: Colin Walters <walters@verbum.org>
2025-11-25 16:50:20 -05:00
gursewak1997
3ad82d0ee6 Soft reboot: Detect SELinux policy deltas
Add check to prevent soft reboot when SELinux policies differ
between booted and target deployments, since policy is not
reloaded across soft reboots.

Assisted-by: Cursor (Auto)
Signed-off-by: gursewak1997 <gursmangat@gmail.com>
2025-11-21 15:12:07 -05:00
Colin Walters
29e5c9a4c8 tests: Create a shared workaround for c10s+tmt-reboot
Since other tests are hitting it.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-11-19 16:59:13 -05:00
Colin Walters
1ad391ec21 core: Fix usroverlay regression
The `/sysroot` writability regressed this, and add a missing test
case for this.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-11-19 16:59:13 -05:00
Colin Walters
9a8bf1b5e4 install: Detect bootloader from target image instead of host
Fixes a regression where bootupd detection was happening before the
container was deployed, causing bootc to incorrectly check the host
system instead of the target container image. This led to false negatives
when the container had bootupd but the host didn't.

The fix moves bootloader detection into a new PostFetchState that's
created after the deployment is available, ensuring we check the actual
target filesystem.

Fixes: #1778

Assisted-by: Claude Code (Sonnet 4.5)
Signed-off-by: Colin Walters <walters@verbum.org>
2025-11-19 14:19:03 -05:00
Colin Walters
e0475cd60e initramfs: Mount /sysroot readonly for composefs by default
This implements readonly mounting of /sysroot for composefs systems,
matching the behavior that ostree systems already have. Previously,
composefs left /sysroot mounted read-write, which was inconsistent
and meant the readonly tests had to be skipped for composefs.

The implementation uses a direct `libc::syscall` wrapper for
`mount_setattr` since rustix doesn't yet provide this API. The
`MOUNT_ATTR_RDONLY` flag is applied to three mount
points during initramfs setup:
- The composefs rootfs image mount (becomes `/` after switch-root)
- The test root filesystem mount (used in testing scenarios)
- The sysroot clone mount (becomes `/sysroot` in the booted system)

With this change, the readonly /sysroot tests in test-status.nu
now run for both ostree and composefs systems without conditional
checks.

Assisted-by: Claude Code (Sonnet 4.5)
Co-authored-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
Signed-off-by: Colin Walters <walters@verbum.org>
2025-11-18 23:51:36 -05:00
Colin Walters
a998bfc3f1 install: Fix DPS support
This fixes bootc's use of the Discoverable Partition Specification (DPS)
to properly support systemd-gpt-auto-generator. Previously, bootc was
incorrectly setting filesystem UUIDs to the DPS partition type UUID value,
which caused UUID collisions and prevented proper DPS functionality.

It's still a TODO on our side to support systemd-repart in this flow.

Note we go back to using random filesystem UUIDs with this, but
per above we should likely reinitialize them on boot via repart.

Note we remove root= parameter from kernel cmdline for composefs sealed images,
allowing systemd-gpt-auto-generator to auto-discover the root partition
and we test this.

Fixes: #1771

Assisted-by: Claude Code (Sonnet 4.5)
Signed-off-by: Colin Walters <walters@verbum.org>
2025-11-18 11:02:22 -05:00
Xiaofeng Wang
9185005025 test: Fix factory reset Access denied error on CS10
Sometimes systemd daemons are still running old binaries and
response "Access denied" when send reboot request

Force a full sync before reboot and Allow more delay for
bootc to settle

Signed-off-by: Xiaofeng Wang <henrywangxf@me.com>
2025-11-13 10:53:13 -05:00
Colin Walters
c0b9cde666 store: Preserve /sysroot readonly for read-only operations
PR #1718 introduced a regression where /sysroot was left writable after
running `bootc status`. This occurred because BootedStorage::new()
unconditionally calls set_mount_namespace_in_use(), which tells ostree
it can safely remount /sysroot as writable. When sysroot.load() is called
without actually being in a mount namespace, it leaves the global /sysroot
writable.

Fix by introducing an Environment enum that detects the runtime environment
(ostree, composefs, container, or other) early in the execution flow. Callers
now detect the environment and call prepare_for_write() if needed before
constructing BootedStorage. This ensures a single call to prepare_for_write()
per execution path and eliminates the previous layering violation where storage
code called into CLI code.

The Environment abstraction also makes it clearer when mount namespace
setup is required and provides a foundation for future environment-specific
behavior.

Assisted-by: Claude Code (Sonnet 4.5)
Signed-off-by: Colin Walters <walters@verbum.org>
2025-11-13 09:08:03 -05:00
John Eckersberg
7f100886a9 Modify upgrade test to check quoted kargs
This covers the issue reported in https://github.com/ostreedev/ostree/issues/3544

Signed-off-by: John Eckersberg <jeckersb@redhat.com>
2025-11-10 13:12:40 -05:00
Colin Walters
3181bb58e7 tests: Fix examples-build to work on non-fsverity hosts
I'm changing the default fs for Fedora in our CI to be xfs arbitrarily.
This code SHOULD work on non-fsverity hosts, and the other
code path in `tests/build-sealed` does.

Also, the remainder of the stuff was dead code so just drop it.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-11-06 19:32:42 -05:00
Colin Walters
f8ce015254 Rework GHA testing: Use bcvk, cover composefs with tmt
Part 1: Use bcvk

For local tests, right now testcloud+tmt doesn't support UEFI, see
https://github.com/teemtee/tmt/issues/4203

This is a blocker for us doing more testing with UKIs.

In this patch we switch to provisioning VMs with bcvk, which
fixes this - but beyond that a really compelling thing about
this is that bcvk is *also* designed to be ergonomic and efficient
beyond just being a test runner, with things like virtiofs
mounting of host container storage, etc.

In other words, bcvk is the preferred way to run local virt
with bootc, and this makes our TMT tests use it.

Now a major downside of this though is we're effectively
implementing a new "provisioner" for tmt (bypassing the
existing `virtual`). In the more medium term I think we
want to add `bcvk` as a provisioner option to tmt.

Anyways for now, this works by discovers test plans via `tmt plan ls`,
spawning a separate VM per test, and then using uses tmt's connect
provisioner to run tests targeting these externally provisioned
systems.

Part 2: Rework the Justfile and Dockerfile

This adds `base` and `variant` arguments which are propagated through
the system, and we have a new `variant` for sealed composefs.

The readonly tests now pass with composefs.

Drop the continuous repo tests...as while we could keep
that it's actually a whole *other* entry in this matrix.

Assisted-by: Claude Code (Sonnet 4.5)
Signed-off-by: Colin Walters <walters@verbum.org>
2025-11-06 19:32:42 -05:00
Colin Walters
c832f6d0fc tmt: Document soft-reboot limitation and fix tests
TMT does not support systemd soft-reboots - it only detects reboots
by checking if /proc/stat btime changes, which doesn't happen during
soft-reboots. This caused test-custom-selinux-policy to hang when
running with bcvk (which allows actual soft-reboots), while it
accidentally passed with testcloud (which forced full VM reboots).

Add bug-soft-reboot.md documenting this limitation and update both
test files to reference it. Also remove --soft-reboot=auto from
test-custom-selinux-policy since we can't test it with TMT anyway.

Assisted-by: Claude Code (Sonnet 4.5)
Signed-off-by: Colin Walters <walters@verbum.org>
2025-11-06 19:32:42 -05:00
Colin Walters
02fb561e43 tests: Use systemd-i128 over uuidgen
`just test-composefs` fails in the new default devcontainer
ref <https://github.com/bootc-dev/infra/blob/main/common/.devcontainer>
without this.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-10-31 17:41:53 -04:00
ckyrouac
aff811f9d6 reset: Initial tmt test for factory reset
Signed-off-by: ckyrouac <ckyrouac@redhat.com>
2025-10-29 13:01:20 -04:00
Pragyan Poudyal
a6d886170e composefs-backend: Rename 'composefs-native' to 'composefs-backend'
We were using composefs-native and composefs-backend interchangeably.
Replace all instances of `composefs-native` with `composefs-backend`

Move all composefs-backend options to a single struct so that we can
test for boolean instead of testing for Some/None for composefs-backend
options

Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
Signed-off-by: Colin Walters <walters@verbum.org>
2025-10-17 07:05:42 -04:00
Xiaofeng Wang
58876bf20e test: Update test to sync with Fedora CI gating
According to https://src.fedoraproject.org/rpms/bootc/pull-request/59#

Signed-off-by: Xiaofeng Wang <henrywangxf@me.com>
2025-10-14 10:46:10 -04:00
Xiaofeng Wang
f1dec83720 test: Use SRPM as test code source to work with gating test (#1670)
Signed-off-by: Xiaofeng Wang <henrywangxf@me.com>
2025-10-08 11:47:44 +08:00
Xiaofeng Wang
3fd43a747f test: Fix packit-reboot.yml download URL issue (#1664)
Signed-off-by: Xiaofeng Wang <henrywangxf@me.com>
2025-10-03 21:22:33 +08:00
Xiaofeng Wang
704338d26b test: Add Packit and gating test
Use 'system-reinstall-bootc' to re-install TF runner from package mode
to image mode

Signed-off-by: Xiaofeng Wang <henrywangxf@me.com>
2025-10-02 16:59:56 -04:00
Joseph Marrero Corchado
f39c9e3c27 tests: add custom selinux policy test
Ensure that if a custom policy is added in a
Containerfile, the resulting deployment has the expected
labels as well.

Assisted by Claude Code

Signed-off-by: Joseph Marrero Corchado <jmarrero@redhat.com>
2025-10-01 16:04:10 -04:00
John Eckersberg
8cf0971719 tests: skip initramfs if no composefs in cmdline
The systemd unit is conditional on this so without it the test will
always fail.

Signed-off-by: John Eckersberg <jeckersb@redhat.com>
2025-09-29 16:49:13 -04:00
John Eckersberg
cee9315f25 examples: use "system" bootc binaries
Since we're running this under tmt, the "system" bootc binaries were
built from source and injected into the integration disk image.  No
need to rebuild these inside of the test job itself.

Signed-off-by: John Eckersberg <jeckersb@redhat.com>
2025-09-29 16:49:13 -04:00