Part of: #3511
User Story
As a maintainer of openshell.spec, I want CI to actually build the package (not just grep its text), so future changes to the codebase or spec don't silently break Fedora buildability again.
Problem Statement
tasks/scripts/test-packaging-assets.sh only performs string-content assertions against openshell.spec (e.g., checking that certain lines are present) — it never actually invokes rpmbuild or mock against the spec. No CI workflow anywhere in .github/workflows/ builds the RPM from source.
Impact / Why This Matters
Once the rest of the Fedora packaging work lands, there's nothing stopping a future change (e.g., adding a new dependency, renaming a binary, changing feature flags) from silently breaking the Fedora build again, since nothing actually exercises it. This overlaps with the already-open #3454 ("test DEB and RPM installation profiles"), which should build/install the RPM at minimum.
Proposed Design
Add a packaging CI job using mock inside a container, following the existing license-headers-style job structure in .github/workflows/branch-checks.yml as a template, per the pattern already used for other spec-string checks in test-packaging-assets.sh.
Acceptance Criteria
Alternatives Considered
- Rely on periodic manual builds — rejected; this is exactly the kind of check that silently rots without automation, as evidenced by the current spec already being broken.
- Only test via Fedora's own Rawhide/COPR builds post-merge — rejected as too late; want to catch build breaks before merge, not after.
Part of: #3511
User Story
As a maintainer of
openshell.spec, I want CI to actually build the package (not just grep its text), so future changes to the codebase or spec don't silently break Fedora buildability again.Problem Statement
tasks/scripts/test-packaging-assets.shonly performs string-content assertions againstopenshell.spec(e.g., checking that certain lines are present) — it never actually invokesrpmbuildormockagainst the spec. No CI workflow anywhere in.github/workflows/builds the RPM from source.Impact / Why This Matters
Once the rest of the Fedora packaging work lands, there's nothing stopping a future change (e.g., adding a new dependency, renaming a binary, changing feature flags) from silently breaking the Fedora build again, since nothing actually exercises it. This overlaps with the already-open #3454 ("test DEB and RPM installation profiles"), which should build/install the RPM at minimum.
Proposed Design
Add a
packagingCI job usingmockinside a container, following the existinglicense-headers-style job structure in.github/workflows/branch-checks.ymlas a template, per the pattern already used for other spec-string checks intest-packaging-assets.sh.Acceptance Criteria
openshell.specin amock(or equivalent containerized Fedora) environment with networking disabled after%prepopenshell.spec,Cargo.toml/Cargo.lock,deploy/rpm/, and relevantpython/openshell/sourcesAlternatives Considered