fix(core): prefer runtime bootc tag over build-time image-info - #23
Open
castrojo wants to merge 1 commit into
Open
fix(core): prefer runtime bootc tag over build-time image-info#23castrojo wants to merge 1 commit into
castrojo wants to merge 1 commit into
Conversation
get_system_info() previously reported the image tag baked into /usr/share/ublue-os/image-info.json at build time. After a bootc switch, that tag is stale and bctl status shows the old tag. Parse the tag from bootc status --json and use it when available, falling back to image-info.json when bootc is missing or the runtime ref has no tag. Relates-to: projectbluefin/common#820 Assisted-by: Claude via pi
Contributor
Author
Vanguard Lab Strike Report —
|
| Field | Value |
|---|---|
| Workflow | bluefinctl-pr-23-test-fjh7d |
| Phase | Succeeded |
| Duration | 20s |
| PR head SHA | 5c3595648a3f |
| Suites / tests | full pytest suite |
Results
111/111 tests passed (0 failures, 0 skipped)
Workflow output confirms the suite was cloned from branch fix/image-tag-from-bootc-status at projectbluefin/bluefinctl and the venv-based pytest run completed green.
Evidence collected
-
argo_get_workflow— phaseSucceeded, node summary1/1 -
k8s_pods_log— test run log captured (111 passed in 2.36s)
Merge eligibility
- Lab workflow successful
- GitHub Actions
test (3.13)still pending - Required approvals / merge rules not confirmed from this context
Lab test is green; waiting on GitHub Actions and review before merge queue.
hanthor
approved these changes
Jul 23, 2026
hanthor
left a comment
Member
There was a problem hiding this comment.
Approve. The runtime-tag precedence is correct and the fallback chain is sound. _tag_from_image_ref handles the tricky cases properly — registry:port refs (rsplit on the last colon, then the '/' guard rejects 5000/bluefin), digest refs (@ guard), and bare refs — and the booted.image.image.image nesting matches bootc's status schema. Tests cover the precedence and both fallback paths. CI green (test 3.13). LGTM.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes projectbluefin/common#820
get_system_info()previously reported the image tag baked into/usr/share/ublue-os/image-info.jsonat build time. After abootc switch, that tag is stale andbctl statusshows the old tag.Changes:
bootc status --jsonand use it when available.image-info.jsonwhen bootc is missing or the runtime ref has no tag.Validation:
pytest— 111 passedruff check— cleanmypy— clean