This directory holds the manual trigger for the release-candidate end-to-end (RC E2E) test job, which tests Konflux-built RC images on Prow before a GA release.
Status: manual trigger (interim). A tag-driven GitHub Action will replace the manual step once a Gangway service-account token is provisioned — see HYPERFLEET-1038. The Action reuses this same script and manifest, so the flow below does not change.
RELEASE_MANIFEST.yaml ──► trigger-rc-e2e.sh ──► Gangway API ──► Prow RC E2E job
(versions + e2e_ref) (verify in Quay) (tier0 + tier1 on GKE)
RELEASE_MANIFEST.yaml(repo root) records the per-component image versions and thehyperfleet-e2ebranch (e2e_ref) that form a release candidate.trigger-rc-e2e.shreads the manifest, verifies the listed images exist in Quay, and triggers the Prow jobperiodic-ci-openshift-hyperfleet-hyperfleet-e2e-main-rc-e2e-rc-e2evia Gangway, injecting the image tags andE2E_REF. If the manifest includeshyperfleet-applier, the script verifies its image and passesAPPLIER_IMAGE_TAGto Prow. If an older manifest omits it, the script preserves compatibility with three-component releases.
- Required CLI:
yq(mikefarah),jq,curl. - Optional CLI:
podman— used for the pre-flight "do the images exist in Quay?" check. If it isn't installed, the check is skipped and the job still triggers (it'll just fail later if an image is genuinely missing). - app.ci access + token. The job runs on OpenShift CI (
app.ci), so you need a token from that cluster:- Log into https://console-openshift-console.apps.ci.l2s4.p1.openshiftapps.com/ (Red Hat SSO).
- Top-right (your name) → Copy login command → Display Token.
- Run the
oc login …command it gives you, then:export GANGWAY_TOKEN=$(oc whoami -t)
Make sure the token is from app.ci, not the Konflux cluster — otherwise Gangway returns 401.
- Update
RELEASE_MANIFEST.yamlwith the RC versions ande2e_ref:release: "0.3" e2e_ref: release-0.3 components: hyperfleet-api: v0.3.0-rc1 hyperfleet-sentinel: v0.3.0-rc1 hyperfleet-adapter: v0.3.0-rc1 hyperfleet-applier: v0.1.0-rc1 # include when applier is part of the release
- Export your token (above) and run:
./scripts/trigger-rc-e2e.sh
- Open the printed Prow link and select the newest run (Gangway doesn't return a direct URL).
Retrigger (e.g. after a flake): just run the script again — it re-reads the manifest.
Dry run (no token needed): DRY_RUN=1 ./scripts/trigger-rc-e2e.sh reads the manifest, verifies the images in Quay, and prints the exact Gangway payload without triggering anything — handy for sanity-checking the manifest before a real run.
- Pulls the RC images listed in the manifest from
quay.io/redhat-services-prod/hyperfleet-tenant/hyperfleet/*. - When
e2e_refis set, cloneshyperfleet-e2eat that branch, builds the test binary, and deploys with that branch's scripts. - Deploys to the
hyperfleet-dev-prowGKE cluster and runstier0 || tier1.
- The manifest — not Konflux — is the human-maintained record of which combination of images is under test. Konflux Snapshots remain the build source of truth.
- Image tags in Quay have no
vprefix (the Konflux pipeline strips it); the script stripsvfrom the manifest values to match.