ci(qualification): add reusable N-to-N+1 upgrade testsuite
@elezar is already working on this.
Since Sep 18, 2026.
- Dominant language
- Rust
- Stars
- 8.7k
- Forks
- 1.3k
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 253
Description
Description
Add a reusable N-to-N+1 forward-upgrade testsuite after the native-install proof-of-concept pipeline and package installation profiles are established.
The testsuite installs the selected supported source release, establishes representative persisted state, upgrades through the documented package mechanism to the immutable candidate artifact set, and verifies the installation and state after the upgrade.
Rollback and downgrade to N-1 are explicitly outside this issue.
Context
- Parent release pipeline: #2860
- Native-install proof-of-concept pipeline: #2976
- Package installation profiles and policy: #3454
- Reusable release artifacts: #1683
- Shared driver conformance suite: #2183
- Release policy: RFC-0014
The proof-of-concept pipeline and package installation profiles are prerequisites. This issue adds the stateful upgrade behavior as a testsuite; it does not redefine machine scenarios or installation-profile policy.
Definition of Done
- The testsuite resolves and records the supported source release N and candidate N+1 artifact manifests.
- It verifies the source installation and version before creating test state.
- It creates representative persisted gateway state required by the supported upgrade contract.
- It upgrades using the scenario's documented package operation without rebuilding candidate artifacts.
- It verifies the candidate version, gateway health, required migrations, and preservation of supported state.
- It invokes independently selected post-upgrade checks, including creation and deletion of a new sandbox.
- It emits machine-readable step results and retains source-install, upgrade, migration, and target diagnostics on failure.
- It contains no Fedora-, Podman-, architecture-, or conformance-specific implementation.
- Rollback and downgrade behavior are not implemented or implied.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.