Skip to content

bootc-ubuntu-setup: Preserve the original runner OS identity - #54

Merged
cgwalters merged 1 commit into
bootc-dev:support-ubuntu-2604-signofffrom
cgwalters-bot:fix-initial-runner-os
Sep 11, 2026
Merged

bootc-ubuntu-setup: Preserve the original runner OS identity#54
cgwalters merged 1 commit into
bootc-dev:support-ubuntu-2604-signofffrom
cgwalters-bot:fix-initial-runner-os

Conversation

@cgwalters-bot

Copy link
Copy Markdown
Contributor

Stacked on #52 (support-ubuntu-2604-signoff); merge that first, then retarget this PR to main.

Fix the OS guard introduced in #53. Installing the Plucky virtualization packages can replace base-files, which rewrites /usr/lib/os-release. The original Ubuntu 24.04 runner then reports 25.04, and our late OS check incorrectly skips the fixed Resolute QEMU.

The affected PR-2290 job records:

17:41:53  IDV=ubuntu-24.04
17:42:49  Unpacking base-files (13.6ubuntu2) over (13ubuntu10.5) ...
17:43:34  idv=ubuntu-25.04
17:43:34  Skipping Resolute QEMU setup on ubuntu-25.04

Capture the original identity in a composite-step output before any package changes. Use it for both #52's Ubuntu 24/26 package selection and the later QEMU guard. Native Ubuntu 26.04 retains its existing package path. Assert the installed QEMU version in the virtualization tests so silently retaining 9.2.1 cannot pass merely because a guest happens to boot.

Validation

  • Executed the extracted capture/guard and package-selection shell code with isolated fixtures: initial 24.04 followed by changed 25.04 metadata still selects the intended upgrade; initial 26.04 keeps native packages and skips the foreign-release setup; unsupported initial versions are rejected.
  • Verified the version assertion rejects 1:9.2 and accepts 1:10.2 with Debian's actual dpkg.
  • Changed-workflow actionlint, extracted shell checks, and whitespace checks passed. The local actionlint version does not yet recognize bootc-ubuntu-setup: Add support for ubuntu-26.04 runners #52's ubuntu-26.04 runner label; those diagnostics are unchanged from the parent branch.
  • Separately checked the official native ubuntu:26.04 image: installed QEMU 1:10.2.1+ds-1ubuntu3.2 contains the VHOST_USER_NEED_REPLY_MASK / process_message_reply() ordering fix from upstream 1ba9a522. Its packaged amd64 emulator passed a bounded TCG + slirp + virtio-net startup check. This was not a native arm64 or full bootc integration test.

Generated-by: AI

Implementation and regression fixtures were AI-generated and independently AI-reviewed. Human review and DCO signoff are still required; no Signed-off-by was added automatically.

@cgwalters
cgwalters requested review from gursewak1997 and a balanced review from Copilot September 10, 2026 22:13
Installing Plucky packages can replace base-files and change os-release from Ubuntu 24.04 to 25.04. Reading it again afterward incorrectly skips the fixed Resolute QEMU installation. Capture the initial identity once and retain it for package selection.

Assert the installed QEMU version in virtualization tests so a silently skipped upgrade cannot pass solely because a guest boots.

Generated-by: AI
Signed-off-by: Colin Walters <walters@verbum.org>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 Approval recommended

The implementation directly addresses the reported regression and adds a strict version assertion covering the failure mode.

Pull request overview

Preserves the runner’s original Ubuntu identity across package upgrades, ensuring correct package selection and QEMU installation.

Changes:

  • Captures the initial OS identity before package changes.
  • Uses that identity for package and QEMU guards.
  • Verifies QEMU 10.2 or newer in virtualization tests.
File summaries
File Description
bootc-ubuntu-setup/action.yml Preserves and reuses the original runner OS identity.
.github/workflows/test-virtualization.yml Adds architecture-aware QEMU version validation.
Review details
  • Files reviewed: 2/2 changed files
  • Comments generated: 0
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@cgwalters
cgwalters merged commit 4725f09 into bootc-dev:support-ubuntu-2604-signoff Sep 11, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants