Skip to content

fix: record the base digest of a BlueBuild slot - #764

Merged
Danathar merged 1 commit into
mainfrom
fix/variant-boot-bluebuild-digest
Oct 18, 2026
Merged

Danathar merged 1 commit into
mainfrom
fix/variant-boot-bluebuild-digest

Conversation

@Danathar

Copy link
Copy Markdown
Owner

The first hosted run of the variant boot test (run 39123468770) passed both slots, but the BlueBuild slot (budgie-atomic) recorded an empty base_digest. A failure issue for a BlueBuild slot would have shown "Base digest: not recorded".

Why

bluebuild generate pins the base by digest. That run's build log starts with FROM quay.io/fedora-ostree-desktops/budgie-atomic@sha256:5be0a50e… AS variant-budgie-atomic, so after the build the base is in local storage under that digest and not under its tag. run_slot read the digest by running podman image inspect on the tag, which finds nothing.

Change

  • base_reference() returns the reference the built Containerfile pulled the base by. For the Containerfile method that is the tag; for BlueBuild it is the pinned digest. run_slot inspects that reference.
  • Tests: the real generated Containerfile resolves to the tag, and the BlueBuild FROM shape from that run resolves to the pinned digest.

How it was checked

  • python3 -m unittest discover -s tests (2587 tests), ruff check, git diff --check.
  • podman in throwaway storage: an image pulled only by digest gives image not known when inspected by its tag, and returns its digest when inspected by the digest reference.

`bluebuild generate` pins the base by digest (`FROM <repository>@sha256:...`),
so after a BlueBuild build the base is in local storage under that digest and
not under its tag. The digest was read by inspecting the tag, which found
nothing: the first hosted run's budgie-atomic (BlueBuild) slot recorded an
empty base digest, and a failure issue would have said "not recorded".

The digest is now read from the reference the built Containerfile pulled the
base by: the tag for the Containerfile method, the pinned digest for BlueBuild.

Signed-off-by: Douglas Baggett <doug.baggett@gmail.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-18T12:33:18.685208Z 580d718 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@danathar-atomic-hive danathar-atomic-hive Bot added author/clanker A contributor's own hive authored this PR under their login dco All commits are DCO signed-off role/trusted Author is trusted for unattended merge (trusted-author role or registry/claim tier in require_tiers) stage/050-review-pending Review swarm requested; awaiting a verdict for the current head labels Oct 18, 2026
@Danathar
Danathar merged commit 2599fd2 into main Oct 18, 2026
6 checks passed
Danathar added a commit that referenced this pull request Oct 18, 2026
…ded (#765)

#764 looked for the base in the rendered Containerfile, but BlueBuild names
it through an ARG (`ARG BASE_IMAGE="<repository>@sha256:..."`, then
`FROM "${BASE_IMAGE}"`), so the lookup fell back to the tag and the
dispatched BlueBuild run still recorded no base digest. Its test fed the
expanded form, which only the build log shows.

podman prints every FROM step with its ARGs expanded, so the reference is
now read from build.log. Replaying both hosted runs' build logs gives the
pinned digest for budgie-atomic (BlueBuild) and the tag for
bazzite-dx-gnome (Containerfile).

Signed-off-by: Douglas Baggett <doug.baggett@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author/clanker A contributor's own hive authored this PR under their login dco All commits are DCO signed-off role/trusted Author is trusted for unattended merge (trusted-author role or registry/claim tier in require_tiers) stage/050-review-pending Review swarm requested; awaiting a verdict for the current head

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant