Skip to content

Commit e51715c

Browse files
committed
test(upgrade): split RPM coverage from Debian qualification
Signed-off-by: Evan Lezar <elezar@nvidia.com>
1 parent febf3be commit e51715c

10 files changed

Lines changed: 13 additions & 367 deletions

File tree

‎.agents/skills/test-release-canary/SKILL.md‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,10 @@ gateway RPMs and matching runtime images. Branch RPM package builds run on
4040
every approved branch run, independently of optional E2E labels.
4141

4242
The host-package jobs exercise fresh installs, not upgrades from persisted
43-
gateway state. Release Dev and Release Tag additionally run tmachine Ubuntu DEB
44-
and Fedora RPM upgrade lanes: they install the latest published release
45-
packages and matching runtime images, upgrade to the candidate packages, verify
46-
an existing sandbox survives, and create a new sandbox. Those lanes are part of
43+
gateway state. Release Dev and Release Tag additionally run a tmachine Ubuntu DEB
44+
upgrade lane: it installs the latest published release
45+
package and matching runtime images, upgrades to the candidate package, verifies
46+
an existing sandbox survives, and creates a new sandbox. That lane is part of
4747
the release conformance matrix, not this canary. Validate Homebrew exact-default
4848
migration with the release-tooling and package lifecycle tests before relying
4949
on the canary.

‎.github/workflows/branch-e2e.yml‎

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ jobs:
261261

262262
prepare-integration-upgrades:
263263
name: Prepare upgrade qualification inputs
264-
needs: [pr_metadata, build-binaries, build-images, build-deb, build-rpm]
264+
needs: [pr_metadata, build-binaries, build-images, build-deb]
265265
if: needs.pr_metadata.outputs.run_integration_upgrades == 'true'
266266
permissions:
267267
actions: read
@@ -270,9 +270,7 @@ jobs:
270270
uses: ./.github/workflows/prepare-integration-inputs.yml
271271
with:
272272
deb-artifact-name: deb-linux-amd64
273-
rpm-artifact-name: rpm-linux-x86_64
274273
include-deb-upgrade-source: true
275-
include-rpm-upgrade-source: true
276274

277275
integration-upgrades:
278276
name: Integration upgrades
@@ -288,8 +286,7 @@ jobs:
288286
integration-inputs-artifact-id: ${{ needs.prepare-integration-upgrades.outputs.integration_inputs_artifact_id }}
289287
test-matrix: >-
290288
[
291-
{"environment":"ubuntu-docker-rootful","installer":"deb-upgrade-source","testsuite":"deb-upgrade"},
292-
{"environment":"fedora-podman-rootless","installer":"rpm-upgrade-source","testsuite":"rpm-upgrade"}
289+
{"environment":"ubuntu-docker-rootful","installer":"deb-upgrade-source","testsuite":"deb-upgrade"}
293290
]
294291
295292
# Run driver-independent conformance tests.

‎.github/workflows/e2e-label-help.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ jobs:
5151
status_summary="The matching required CI gate status on this PR will flip green automatically once the run finishes."
5252
;;
5353
test:upgrade)
54-
suite_summary="the Debian and RPM upgrade qualification"
55-
build_summary="DEB and RPM packages, VM driver, sandbox image, and supervisor image"
54+
suite_summary="the Debian upgrade qualification"
55+
build_summary="DEB package, VM driver, sandbox image, and supervisor image"
5656
status_summary="This is an optional proof-of-life suite; failures are visible in the workflow run but do not publish a required CI gate status."
5757
;;
5858
test:e2e-kubernetes)

‎.github/workflows/prepare-integration-inputs.yml‎

Lines changed: 2 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,6 @@ on:
3131
required: false
3232
type: boolean
3333
default: false
34-
include-rpm-upgrade-source:
35-
description: Include the latest published release RPMs and runtime images as upgrade inputs
36-
required: false
37-
type: boolean
38-
default: false
3934
outputs:
4035
source_sha:
4136
description: Source revision of the candidate artifacts
@@ -141,7 +136,7 @@ jobs:
141136
rm -rf "$download_dir"
142137
143138
- name: Resolve released upgrade source
144-
if: inputs['include-deb-upgrade-source'] || inputs['include-rpm-upgrade-source']
139+
if: inputs['include-deb-upgrade-source']
145140
id: upgrade-source
146141
env:
147142
GH_TOKEN: ${{ github.token }}
@@ -186,7 +181,7 @@ jobs:
186181
# this release tag, while tmachine consumes tarballs to keep guest setup
187182
# independent of registry access.
188183
- name: Export released runtime images for upgrade sources
189-
if: inputs['include-deb-upgrade-source'] || inputs['include-rpm-upgrade-source']
184+
if: inputs['include-deb-upgrade-source']
190185
env:
191186
IMAGE_TAG: ${{ steps.upgrade-source.outputs.tag }}
192187
run: |
@@ -200,41 +195,6 @@ jobs:
200195
docker pull "ghcr.io/nvidia/openshell/supervisor:${image_tag}"
201196
docker save --output artifacts/upgrade/source-images/openshell-supervisor-tmachine.tar "ghcr.io/nvidia/openshell/supervisor:${image_tag}"
202197
203-
- name: Download released RPM upgrade source
204-
if: inputs['include-rpm-upgrade-source']
205-
env:
206-
GH_TOKEN: ${{ github.token }}
207-
SOURCE_TAG: ${{ steps.upgrade-source.outputs.tag }}
208-
run: |
209-
set -euo pipefail
210-
gh release download "$SOURCE_TAG" --repo "$GITHUB_REPOSITORY" \
211-
--pattern 'openshell-[0-9]*.x86_64.rpm' \
212-
--pattern 'openshell-gateway-[0-9]*.x86_64.rpm' \
213-
--pattern openshell-checksums-sha256.txt \
214-
--dir artifacts/upgrade/rpm/source/download
215-
216-
- name: Stage released RPM upgrade source
217-
if: inputs['include-rpm-upgrade-source']
218-
run: |
219-
set -euo pipefail
220-
source_dir=artifacts/upgrade/rpm/source
221-
download_dir="${source_dir}/download"
222-
cli_rpm=$(find "$download_dir" -maxdepth 1 -type f -name 'openshell-[0-9]*.x86_64.rpm' -print -quit)
223-
gateway_rpm=$(find "$download_dir" -maxdepth 1 -type f -name 'openshell-gateway-[0-9]*.x86_64.rpm' -print -quit)
224-
if [[ -z "$cli_rpm" || -z "$gateway_rpm" || ! -f "${download_dir}/openshell-checksums-sha256.txt" ]]; then
225-
echo "released source artifact did not contain the expected RPMs and checksums" >&2
226-
exit 1
227-
fi
228-
(
229-
cd "$download_dir"
230-
grep -F " $(basename "$cli_rpm")" openshell-checksums-sha256.txt | sha256sum --check --status
231-
grep -F " $(basename "$gateway_rpm")" openshell-checksums-sha256.txt | sha256sum --check --status
232-
)
233-
mv "$cli_rpm" "${source_dir}/openshell.rpm"
234-
mv "$gateway_rpm" "${source_dir}/openshell-gateway.rpm"
235-
mv "${download_dir}/openshell-checksums-sha256.txt" "${source_dir}/openshell-checksums-sha256.txt"
236-
rm -rf "$download_dir"
237-
238198
- name: Log in to GHCR
239199
run: echo "${{ github.token }}" | docker login ghcr.io -u "${GITHUB_ACTOR}" --password-stdin
240200

‎.github/workflows/release-dev.yml‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,6 @@ jobs:
112112
deb-artifact-name: deb-linux-amd64
113113
rpm-artifact-name: rpm-linux-x86_64
114114
include-deb-upgrade-source: true
115-
include-rpm-upgrade-source: true
116115

117116
conformance-integration:
118117
needs: prepare-integration
@@ -129,7 +128,6 @@ jobs:
129128
[
130129
{"environment":"ubuntu-docker-rootful","installer":"deb","testsuite":"conformance"},
131130
{"environment":"ubuntu-docker-rootful","installer":"deb-upgrade-source","testsuite":"deb-upgrade"},
132-
{"environment":"fedora-podman-rootless","installer":"rpm-upgrade-source","testsuite":"rpm-upgrade"},
133131
{"environment":"ubuntu-k3s","installer":"k3s","testsuite":"conformance"},
134132
{"environment":"fedora-podman-rootful","installer":"rpm","testsuite":"conformance"},
135133
{"environment":"fedora-podman-rootless","installer":"rpm","testsuite":"conformance"}

‎.github/workflows/release-tag.yml‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,6 @@ jobs:
163163
deb-artifact-name: deb-linux-amd64
164164
rpm-artifact-name: rpm-linux-x86_64
165165
include-deb-upgrade-source: true
166-
include-rpm-upgrade-source: true
167166

168167
conformance-integration:
169168
needs: prepare-integration
@@ -180,7 +179,6 @@ jobs:
180179
[
181180
{"environment":"ubuntu-docker-rootful","installer":"deb","testsuite":"conformance"},
182181
{"environment":"ubuntu-docker-rootful","installer":"deb-upgrade-source","testsuite":"deb-upgrade"},
183-
{"environment":"fedora-podman-rootless","installer":"rpm-upgrade-source","testsuite":"rpm-upgrade"},
184182
{"environment":"ubuntu-k3s","installer":"k3s","testsuite":"conformance"},
185183
{"environment":"fedora-podman-rootful","installer":"rpm","testsuite":"conformance"},
186184
{"environment":"fedora-podman-rootless","installer":"rpm","testsuite":"conformance"}

‎CI.md‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ the tmachine upgrade execution and its runtime-image preparation.
9292
- `test:e2e` runs the Docker, rootless Podman, Kubernetes, and VM E2E suites
9393
with both managed and standalone compute drivers in `Branch E2E Checks`
9494
- `test:e2e-gpu` runs GPU E2E in `Branch E2E Checks`
95-
- `test:upgrade` runs tmachine Debian and RPM upgrade qualification in
95+
- `test:upgrade` runs tmachine Debian upgrade qualification in
9696
`Branch E2E Checks`: the latest published release packages and matching
9797
runtime images are installed first, then the PR's packages are installed and
9898
both existing and new sandboxes are verified
@@ -454,7 +454,7 @@ its own stable result status.
454454
Merge-group runs use the `merge_group` event. The event is distinct from `pull_request` and `push`, and GitHub will not report required checks for queued PRs unless the workflows include it. In this repository:
455455

456456
- `Branch Checks` runs the standard non-E2E gates on the merge-group SHA.
457-
- `Branch E2E Checks` runs core E2E and GPU E2E for merge groups. Debian and RPM upgrade qualification and Kubernetes HA E2E remain optional and label-driven on PRs.
457+
- `Branch E2E Checks` runs core E2E and GPU E2E for merge groups. Debian upgrade qualification and Kubernetes HA E2E remain optional and label-driven on PRs.
458458
- `Helm Lint` runs for merge groups without the PR diff optimization, because the merge-group branch is the final integration state.
459459
- `Trivy Changes` compares the merge-group configuration with its base and rejects new High or Critical findings.
460460
- `Required CI Gates` posts the same `OpenShell / ...` statuses to the merge-group SHA and does not require a `pull-request/<N>` mirror for merge-group events.
@@ -480,7 +480,7 @@ The bot's full administrator documentation is internal to NVIDIA. The only comma
480480
| File | Role |
481481
|---|---|
482482
| `.github/workflows/branch-checks.yml` | Required non-E2E checks. Triggers on `push: pull-request/[0-9]+` for PR mirrors and `merge_group` for queued merges. |
483-
| `.github/workflows/branch-e2e.yml` | Standard, GPU, Debian and RPM upgrade, Kubernetes HA, and Kubernetes credential-driver E2E. PR mirror pushes use `test:e2e`, `test:e2e-gpu`, `test:upgrade`, and `test:e2e-kubernetes` labels; merge groups run core and GPU E2E. |
483+
| `.github/workflows/branch-e2e.yml` | Standard, GPU, Debian upgrade, Kubernetes HA, and Kubernetes credential-driver E2E. PR mirror pushes use `test:e2e`, `test:e2e-gpu`, `test:upgrade`, and `test:e2e-kubernetes` labels; merge groups run core and GPU E2E. |
484484
| `.github/workflows/build-binaries.yml`, `build-vm-driver.yml` | Shared binary matrices used by branch and release workflows. The VM driver remains separate because its build consumes the runtime binaries. |
485485
| `.github/workflows/build-images.yml` | Builds and pushes multi-platform images, then uploads the same OCI images as workflow artifacts. |
486486
| `.github/workflows/package-release-binaries.yml` | Packages raw build artifacts into release tarballs without rebuilding them. |

‎tests/ansible/playbooks/openshell-rpm-upgrade-source.yaml‎

Lines changed: 0 additions & 31 deletions
This file was deleted.

0 commit comments

Comments
 (0)