#2975·OpenShell

ci(qualification): add reusable N-to-N+1 upgrade testsuite

Author: SDAChessCreated Aug 27, 2026Updated Sep 18, 2026
Labelstopic:testing

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.