Use image-builder for building ostree installers on F45+ (#542) #545
No reviewers
Labels
No labels
Closed As
Duplicate
Closed As
Fixed
Closed As
Invalid
easyfix
freeipa
improvetest
iot
newtest
silverblue
tracker
ai-review-please
Backlog Status
Needs Review
Backlog Status
Ready
chore
documentation
points
01
points
02
points
03
points
05
points
08
points
13
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Sprint Status
Blocked
Sprint Status
Done
Sprint Status
In Progress
Sprint Status
Review
Sprint Status
To Do
Technical Debt
Work Item
Bug
Work Item
Epic
Work Item
Spike
Work Item
Task
Work Item
User Story
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
quality/os-autoinst-distri-fedora!545
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "ostree-image-builder"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
We recently switched to using image-builder for building ostree
installer images in Rawhide (F45):
releng/pungi-fedora#1641
The openQA tests are meant to check that the official builds will
work, so they have to shadow the official builds; thus we must
also switch our F45+ builds to image-builder. This is pretty
self-explanatory. I've reported the additional RAM requirements
and lack of .repo file support to @supakeen and will update the
test if those are resolved.
Signed-off-by: Adam Williamson awilliam@redhat.com
AI Code Review
Detailed Code Review
The migration to
image-builderfor F45+ is logically structured and appropriately segregated from the legacyloraxpath. The openQA test runner successfully delegates to the correct build tooling based on the release number.However, there are a few edge cases that could cause the test scripts to fail during runtime. In the Python parsing scripts, there are assumptions about string and dictionary formats that could lead to unhandled exceptions (like
ValueErrorandKeyError). Additionally, there is a Perl scoping issue in the test runner where a variable is redeclared, which will trigger warnings and could cause strict test environments to fail. Implementing safer accessors and splits will ensure better reliability.📂 File Reviews
📄 `data/updvercheck.py` - Adds a function to parse image-builder SPDX files and extract package versions.
purl["version"].split("-", 1)directly into two variables will raise aValueError: not enough values to unpackif a package version does not contain a hyphen. While RPMs typically have a release attached, third-party or irregularly formatted packages could crash the script.📄 `tests/_ostree_build.pm` - Updates the test runner to use `image-builder` for F45+ and correctly passes the corresponding parameters and logs.
$cmdvariable is declared withmytwice within the same subroutine scope. This masks the earlier declaration and triggers a"my" variable $cmd masks earlier declaration in same scopewarning in Perl. If the test environment treats warnings as fatal, this will fail the test.mykeyword from the second assignment.📄 `data/ostree-parse-pungi-ib.py` - New script to parse the pungi configuration and extract the image-builder blueprint.
forces = blueprint["customizations"]["installer"]["payload"]["flatpaks"]["force"]assumes the structure exists perfectly. If any of these keys are missing from the configuration, it will raise aKeyError..get()with default fallbacks if theforcesection is optional.✅ Summary
ValueErrorrisk inupdvercheck.pywhen splitting PURL versions that might lack a hyphen_ostree_build.pmby removing the duplicatemydeclaration for$cmdKeyErrorhandling for deep dictionary accesses inostree-parse-pungi-ib.pyto prevent confusing stack traces if the config structure changes🤖 AI Code Review | Generated with ai-code-review | Model:
gemini-3.1-pro-preview⚠️ AI-generated suggestions may be incorrect. Verify before applying. Not a replacement for human review.
dcf580ad3c6e4f9daa3eI fixed the
my $cmdthing but I'm fine with the other assumptions. I don't think we're going to have packages without releases, and if the SPDX file formats we need to know, crashing is fine.Note: x86_64 builds succeed with "only" 8G of RAM, but aarch64 seem to need 9.