Skip to content

HYPERFLEET-1038: add RC E2E job + E2E_REF step registry support#79515

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
ciaranRoche:HYPERFLEET-1038-rc-e2e-trigger
May 21, 2026
Merged

HYPERFLEET-1038: add RC E2E job + E2E_REF step registry support#79515
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
ciaranRoche:HYPERFLEET-1038-rc-e2e-trigger

Conversation

@ciaranRoche
Copy link
Copy Markdown
Member

@ciaranRoche ciaranRoche commented May 20, 2026

Summary

  • Add Gangway-triggered RC E2E ci-operator config variant (rc-e2e) with @yearly cron, runs tier0 || tier1 against per-component Quay images
  • Add E2E_REF env var to setup and test step registry refs, allowing runtime selection of which hyperfleet-e2e branch/tag to build and test from via MULTISTAGE_PARAM_OVERRIDE_E2E_REF
  • When E2E_REF is set, setup step clones the repo at that ref, builds the binary, and shares it with the test step via SHARED_DIR. When unset, uses the pre-built binary from the pod image (main)

Why

RC testing needs to run specific E2E test versions against specific component image versions. ci-operator's extra_refs.base_ref is baked at config time and can't be overridden via Gangway, so we handle version selection at the step level. This avoids per-release ci-operator configs entirely.

Test plan

  • make jobs generates periodic job YAML without errors
  • Prow rehearsal passes
  • Manual Gangway trigger with MULTISTAGE_PARAM_OVERRIDE_E2E_REF=main confirms clone+build path works
  • Nightly jobs unaffected (E2E_REF defaults to empty, existing behavior preserved)

🤖 Generated with Claude Code

This PR updates OpenShift CI (openshift/release) configuration for the Hyperfleet E2E suite to add a Gangway-triggerable RC job and to enable runtime selection of the hyperfleet-e2e test artifact (branch or tag) without baking extra_refs into ci-operator jobs.

What changed and where

  • New ci-operator job variant

    • ci-operator/config/openshift-hyperfleet/hyperfleet-e2e/openshift-hyperfleet-hyperfleet-e2e-main__rc-e2e.yaml
      • Adds the rc-e2e ci-operator job variant (registered with Prow via generated job YAML).
      • Scheduled with an @yearly cron so the job is visible to Prow/Gangway but does not run regularly — intended for manual/Gangway-triggered RC testing.
      • Configured to run tests against per-component Quay images (IMAGE_REGISTRY: quay.io) and uses LABEL_FILTER "tier0 || tier1" so it targets tier0 or tier1 components.
      • Declares base_images/build_root and maps the credential-provider input image into the build; sets global resource requests/limits and default image/tag parameters; configures reporting to #hyperfleet-e2e-status with templated links to logs and job history.
      • Default metadata (org, repo, branch, variant) added under zz_generated_metadata.
  • Step-registry: runtime E2E artifact selection via E2E_REF

    • Setup step

      • ci-operator/step-registry/openshift-hyperfleet/e2e/setup/openshift-hyperfleet-e2e-setup-ref.yaml
      • ci-operator/step-registry/openshift-hyperfleet/e2e/setup/openshift-hyperfleet-e2e-setup-commands.sh
      • Adds E2E_REF (default "") documented to accept a branch or tag (explicitly not a commit SHA).
      • When E2E_REF is set, the setup script clones hyperfleet-e2e at that ref (git clone --branch ... --depth 1), runs make build, and copies the built hyperfleet-e2e binary plus deploy-scripts, testdata, and configs into SHARED_DIR and /tmp/e2e for downstream steps.
      • When E2E_REF is empty, previous behavior is preserved: the test step uses the pre-bundled files that come from the pod image.
    • Test step

      • ci-operator/step-registry/openshift-hyperfleet/e2e/test/openshift-hyperfleet-e2e-test-ref.yaml
      • ci-operator/step-registry/openshift-hyperfleet/e2e/test/openshift-hyperfleet-e2e-test-commands.sh
      • Adds E2E_REF (default "") and, when set, validates SHARED_DIR contains hyperfleet-e2e, testdata, deploy-scripts, and configs.
      • When artifacts exist in SHARED_DIR, switches E2E_BIN to ${SHARED_DIR}/hyperfleet-e2e (chmod +x), sets TESTDATA to ${SHARED_DIR}/testdata (and exports TESTDATA_DIR from TESTDATA), refreshes /tmp/e2e deploy-scripts/configs from SHARED_DIR, and executes the selected binary ("${E2E_BIN}").
      • When E2E_REF is empty, the step continues to use the prebuilt binary/resources from the pod image (unchanged default/nightly behavior).

Practical impact

  • Enables RC testing of a specific hyperfleet-e2e branch or tag (triggered via Gangway with MULTISTAGE_PARAM_OVERRIDE_E2E_REF=<branch|tag>) against specific component images without adding extra_refs/base_ref into ci-operator configs or maintaining per-release job variants.
  • The setup step will build the chosen hyperfleet-e2e ref at runtime and hand artifacts to the test step via SHARED_DIR; the test step validates and uses them, failing fast if missing.
  • Default behavior for existing/nightly jobs is unchanged (E2E_REF empty → use prebuilt pod-image binary).
  • The rc-e2e job is registered but effectively manual (@yearly cron) and reports to the configured channel with links to logs/history.

Other notes

  • E2E_REF documentation explicitly requires a branch or tag (commit SHAs not accepted).
  • PR includes CI metadata and reporter configuration; test plan: run make jobs, pass Prow rehearsal, and manual Gangway trigger with MULTISTAGE_PARAM_OVERRIDE_E2E_REF=main to validate clone+build behavior.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label May 20, 2026
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

openshift-ci-robot commented May 20, 2026

@ciaranRoche: This pull request references HYPERFLEET-1038 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Summary

  • Add Gangway-triggered RC E2E ci-operator config variant (rc-e2e) with @yearly cron, runs tier0 || tier1 against per-component Quay images
  • Add E2E_REF env var to setup and test step registry refs, allowing runtime selection of which hyperfleet-e2e branch/tag to build and test from via MULTISTAGE_PARAM_OVERRIDE_E2E_REF
  • When E2E_REF is set, setup step clones the repo at that ref, builds the binary, and shares it with the test step via SHARED_DIR. When unset, uses the pre-built binary from the pod image (main)

Why

RC testing needs to run specific E2E test versions against specific component image versions. ci-operator's extra_refs.base_ref is baked at config time and can't be overridden via Gangway, so we handle version selection at the step level. This avoids per-release ci-operator configs entirely.

Test plan

  • make jobs generates periodic job YAML without errors
  • Prow rehearsal passes
  • Manual Gangway trigger with MULTISTAGE_PARAM_OVERRIDE_E2E_REF=main confirms clone+build path works
  • Nightly jobs unaffected (E2E_REF defaults to empty, existing behavior preserved)

🤖 Generated with Claude Code

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 20, 2026

Walkthrough

Adds an rc-e2e Prow job and E2E_REF-driven setup/test steps to optionally build, stage via SHARED_DIR, and run hyperfleet-e2e from a specified git ref, falling back to prebuilt pod-image artifacts when empty.

Changes

Hyperfleet E2E Ref-Based Testing

Layer / File(s) Summary
RC-E2E Job Configuration
ci-operator/config/openshift-hyperfleet/hyperfleet-e2e/openshift-hyperfleet-hyperfleet-e2e-main__rc-e2e.yaml
Defines the new rc-e2e job variant: header, base_images and build_root mapping, global resource requests/limits, @yearly cron for registration, reporter/status templates, test environment variables, and zz_generated_metadata.
Setup: E2E_REF environment contract
ci-operator/step-registry/openshift-hyperfleet/e2e/setup/openshift-hyperfleet-e2e-setup-ref.yaml
Adds E2E_REF env var (default "") with docs describing branch/tag (not commit SHA) semantics and SHARED_DIR usage for built artifacts.
Setup: Conditional build & staging logic
ci-operator/step-registry/openshift-hyperfleet/e2e/setup/openshift-hyperfleet-e2e-setup-commands.sh
When E2E_REF is set, clones hyperfleet-e2e at the ref, runs make build, and stages hyperfleet-e2e, deploy-scripts, testdata, and configs into ${SHARED_DIR} and /tmp/e2e; otherwise copies prebuilt /e2e/ content.
Test: E2E_REF environment contract
ci-operator/step-registry/openshift-hyperfleet/e2e/test/openshift-hyperfleet-e2e-test-ref.yaml
Adds E2E_REF env var (default "") with docs explaining test step will use the SHARED_DIR-built binary when set.
Test: Select and run ref-specific artifacts
ci-operator/step-registry/openshift-hyperfleet/e2e/test/openshift-hyperfleet-e2e-test-commands.sh
Test step validates staged artifacts when E2E_REF is set, updates E2E_BIN/TESTDATA, copies deploy-scripts/configs, exports TESTDATA_DIR from TESTDATA, and invokes "${E2E_BIN}" to run tests.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • openshift/release#79420: Updates overlapping E2E image/registry variables and relates to rc-e2e job and E2E artifact inputs.

Suggested labels

lgtm, rehearsals-ack

Suggested reviewers

  • rafabene
🚥 Pre-merge checks | ✅ 12
✅ Passed checks (12 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically summarizes the main changes: adding an RC E2E job configuration and introducing E2E_REF step registry support for flexible branch/tag selection.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed PR contains no Ginkgo test files or test declarations. Changes are CI/CD configuration files (YAML) and shell scripts only, not test code subject to this check.
Test Structure And Quality ✅ Passed PR contains no Ginkgo test code. Changes are Prow job config YAML, bash CI scripts, and CI/CD ref YAML files. Custom check for Ginkgo tests is not applicable.
Microshift Test Compatibility ✅ Passed PR adds only CI/CD configuration files (YAML and shell scripts), not new Ginkgo e2e tests. No test code with Ginkgo constructs is introduced.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PR adds CI/CD configuration and shell scripts for Hyperfleet E2E testing infrastructure, not Ginkgo test code. No new Ginkgo tests (It(), Describe(), Context(), etc.) are being added.
Topology-Aware Scheduling Compatibility ✅ Passed PR modifies CI/CD infrastructure (Prow job configs and step registry), not deployment manifests or operator code. No scheduling constraints are introduced.
Ote Binary Stdout Contract ✅ Passed PR modifies only CI/CD infrastructure configs and orchestration scripts in openshift/release; the hyperfleet-e2e OTE binary source is in a separate external repository and not modified by this PR.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PR adds only CI infrastructure (Prow configs, step registry YAML, and shell scripts), not Ginkgo e2e tests. The check explicitly applies to "new Ginkgo e2e tests" and is not applicable here.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@openshift-ci openshift-ci Bot requested review from kuudori and rafabene May 20, 2026 10:16
@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label May 20, 2026
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
ci-operator/config/openshift-hyperfleet/hyperfleet-e2e/openshift-hyperfleet-hyperfleet-e2e-main__rc-e2e.yaml (1)

1-58: ⚠️ Potential issue | 🔴 Critical

Run make update to generate the rc-e2e job artifacts.

The rc-e2e CI configuration variant has been added, but the downstream job YAML files have not been regenerated to include it. The rc-e2e job definition should appear in ci-operator/jobs/openshift-hyperfleet/hyperfleet-e2e/openshift-hyperfleet-hyperfleet-e2e-main-periodics.yaml, but it is currently missing. Per the CI configuration guidelines, make update must be run after modifying CI config files to ensure all downstream artifacts are current.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@ci-operator/config/openshift-hyperfleet/hyperfleet-e2e/openshift-hyperfleet-hyperfleet-e2e-main__rc-e2e.yaml`
around lines 1 - 58, The new CI variant/test "rc-e2e" (tests: - as: rc-e2e) and
workflow "openshift-hyperfleet-e2e" were added but downstream job manifests were
not regenerated; run `make update` in the repo root to regenerate
ci-operator/jobs and prow job YAML (so the rc-e2e entry appears in
openshift-hyperfleet-hyperfleet-e2e-main-periodics.yaml), verify the generated
job contains the "rc-e2e" test and correct env/workflow values, and commit the
updated generated files alongside this config change.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@ci-operator/step-registry/openshift-hyperfleet/e2e/setup/openshift-hyperfleet-e2e-setup-commands.sh`:
- Around line 53-54: The git clone invocation using --branch "$E2E_REF" requires
E2E_REF to be a branch or tag name, so either update the documentation to state
"E2E_REF must be a branch or tag name" (replace ambiguous "Git ref (branch/tag)"
with that wording) or change the script to support commit SHAs: remove or avoid
passing --branch when E2E_REF may be a SHA, perform a shallow clone of the repo
to /tmp/e2e-src, then detect if E2E_REF is a commit SHA and, if so, fetch and
checkout that SHA (or otherwise checkout the branch/tag) after cloning;
reference the E2E_REF variable and the git clone invocation in the script when
making the change.

In
`@ci-operator/step-registry/openshift-hyperfleet/e2e/test/openshift-hyperfleet-e2e-test-commands.sh`:
- Line 59: The shell command invoking ${E2E_BIN} should quote the variable
arguments to prevent word splitting and globbing; update the invocation of the
test command so the LABEL_FILTER and ARTIFACT_DIR variables (used with
--label-filter and --junit-report) are wrapped in quotes when passed to the
${E2E_BIN} test command (referencing E2E_BIN, LABEL_FILTER, and ARTIFACT_DIR in
the script) to ensure safe handling of spaces and glob characters.
- Around line 22-25: The script currently allows silent fallback to the
image-provided E2E binary when E2E_REF is set but ${SHARED_DIR}/hyperfleet-e2e
is missing; update the E2E selection logic to detect this case and fail fast:
when E2E_REF is non-empty and the file ${SHARED_DIR}/hyperfleet-e2e does not
exist, emit a clear error via log (including E2E_REF and expected path) and exit
non-zero instead of continuing to use the default binary. Change the block that
references E2E_REF/SHARED_DIR and set/validate E2E_BIN (symbols: E2E_REF,
SHARED_DIR, hyperfleet-e2e, E2E_BIN) so the absence of the built binary aborts
the job.

---

Outside diff comments:
In
`@ci-operator/config/openshift-hyperfleet/hyperfleet-e2e/openshift-hyperfleet-hyperfleet-e2e-main__rc-e2e.yaml`:
- Around line 1-58: The new CI variant/test "rc-e2e" (tests: - as: rc-e2e) and
workflow "openshift-hyperfleet-e2e" were added but downstream job manifests were
not regenerated; run `make update` in the repo root to regenerate
ci-operator/jobs and prow job YAML (so the rc-e2e entry appears in
openshift-hyperfleet-hyperfleet-e2e-main-periodics.yaml), verify the generated
job contains the "rc-e2e" test and correct env/workflow values, and commit the
updated generated files alongside this config change.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 4f337967-7559-4e90-be7b-43ee5c6eca2b

📥 Commits

Reviewing files that changed from the base of the PR and between 69d8268 and 9f2d65c.

📒 Files selected for processing (5)
  • ci-operator/config/openshift-hyperfleet/hyperfleet-e2e/openshift-hyperfleet-hyperfleet-e2e-main__rc-e2e.yaml
  • ci-operator/step-registry/openshift-hyperfleet/e2e/setup/openshift-hyperfleet-e2e-setup-commands.sh
  • ci-operator/step-registry/openshift-hyperfleet/e2e/setup/openshift-hyperfleet-e2e-setup-ref.yaml
  • ci-operator/step-registry/openshift-hyperfleet/e2e/test/openshift-hyperfleet-e2e-test-commands.sh
  • ci-operator/step-registry/openshift-hyperfleet/e2e/test/openshift-hyperfleet-e2e-test-ref.yaml

@ciaranRoche ciaranRoche force-pushed the HYPERFLEET-1038-rc-e2e-trigger branch from 9f2d65c to 41cecfc Compare May 20, 2026 10:37
@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@ciaranRoche, pj-rehearse: unable to determine affected jobs. This could be due to a branch that needs to be rebased. ERROR:

couldn't prepare candidate: couldn't checkout base SHA 285c896f9148e65e1f7e3fe0a08b45c1399bb524: error checking out "285c896f9148e65e1f7e3fe0a08b45c1399bb524": exit status 128 fatal: unable to read tree (285c896f9148e65e1f7e3fe0a08b45c1399bb524)

Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse list to get an up-to-date list of affected jobs
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@ci-operator/step-registry/openshift-hyperfleet/e2e/test/openshift-hyperfleet-e2e-test-commands.sh`:
- Around line 23-34: The test step misses ensuring ref-specific configs, causing
/tmp/e2e/configs to be left from the image and potentially mismatch E2E_REF;
update the required-check and copy logic to include "configs" (alongside
hyperfleet-e2e, testdata, deploy-scripts) from SHARED_DIR, remove any stale
/tmp/e2e/configs and copy "${SHARED_DIR}/configs" into /tmp/e2e/configs, and (if
used later) set a TESTCONFIGS or otherwise reference the new path so the test
uses the ref-specific configs instead of the image-provided ones.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 3a399334-34ee-4ec8-9d60-e16ed878c3e7

📥 Commits

Reviewing files that changed from the base of the PR and between 9f2d65c and 41cecfc.

⛔ Files ignored due to path filters (2)
  • ci-operator/jobs/openshift-hyperfleet/hyperfleet-e2e/openshift-hyperfleet-hyperfleet-e2e-main-periodics.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift-hyperfleet/hyperfleet-e2e/openshift-hyperfleet-hyperfleet-e2e-main-presubmits.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (5)
  • ci-operator/config/openshift-hyperfleet/hyperfleet-e2e/openshift-hyperfleet-hyperfleet-e2e-main__rc-e2e.yaml
  • ci-operator/step-registry/openshift-hyperfleet/e2e/setup/openshift-hyperfleet-e2e-setup-commands.sh
  • ci-operator/step-registry/openshift-hyperfleet/e2e/setup/openshift-hyperfleet-e2e-setup-ref.yaml
  • ci-operator/step-registry/openshift-hyperfleet/e2e/test/openshift-hyperfleet-e2e-test-commands.sh
  • ci-operator/step-registry/openshift-hyperfleet/e2e/test/openshift-hyperfleet-e2e-test-ref.yaml

@ciaranRoche ciaranRoche force-pushed the HYPERFLEET-1038-rc-e2e-trigger branch from 41cecfc to 5db04be Compare May 20, 2026 11:01
@ciaranRoche
Copy link
Copy Markdown
Member Author

/retest-required

Add a Gangway-triggered RC E2E ci-operator config variant (rc-e2e) that
runs tier0+tier1 against per-component Quay images. Uses @Yearly cron
so it never runs on its own, only via external Gangway trigger.

Add E2E_REF env var to the setup and test step registry refs. When set,
the setup step clones hyperfleet-e2e at that ref, builds the binary via
make build, and stashes it in SHARED_DIR. The test step picks up the
ref-specific binary and testdata. This allows RC testing against a
specific version of the test suite without per-release ci-operator
configs.

Signed-off-by: Ciaran Roche <croche@redhat.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@ciaranRoche ciaranRoche force-pushed the HYPERFLEET-1038-rc-e2e-trigger branch from 5db04be to 4e32c2a Compare May 20, 2026 12:24
@openshift-merge-bot
Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@ciaranRoche: the pj-rehearse plugin accommodates running rehearsal tests for the changes in this PR. Expand 'Interacting with pj-rehearse' for usage details. The following rehearsable tests have been affected by this change:

Test name Repo Type Reason
pull-ci-openshift-hyperfleet-hyperfleet-e2e-main-rc-e2e-images openshift-hyperfleet/hyperfleet-e2e presubmit Presubmit changed
periodic-ci-openshift-hyperfleet-hyperfleet-e2e-main-e2e-tier2-nightly N/A periodic Registry content changed
periodic-ci-openshift-hyperfleet-hyperfleet-e2e-main-rc-e2e-rc-e2e N/A periodic Periodic changed
periodic-ci-openshift-hyperfleet-hyperfleet-e2e-main-e2e-tier0-nightly N/A periodic Registry content changed
periodic-ci-openshift-hyperfleet-hyperfleet-e2e-main-e2e-tier1-nightly N/A periodic Registry content changed
Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse list to get an up-to-date list of affected jobs
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
ci-operator/config/openshift-hyperfleet/hyperfleet-e2e/openshift-hyperfleet-hyperfleet-e2e-main__rc-e2e.yaml (1)

40-51: 💤 Low value

Consider the implications of using latest tags for component images.

The rc-e2e job pins all component images (hyperfleet-adapter, hyperfleet-api, hyperfleet-sentinel) to the latest tag. While this may be intentional for RC testing against the most recent builds, it reduces reproducibility—the same CI configuration could pull different image versions over time, making it harder to reproduce test results or compare across runs.

If this is the desired behavior for RC testing, consider documenting it. Alternatively, if specific RC version testing is needed, you could parameterize the image tags (similar to the E2E_REF pattern) to allow testing against specific RC versions while still defaulting to latest.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@ci-operator/config/openshift-hyperfleet/hyperfleet-e2e/openshift-hyperfleet-hyperfleet-e2e-main__rc-e2e.yaml`
around lines 40 - 51, The job currently pins ADAPTER_IMAGE_TAG, API_IMAGE_TAG,
and SENTINEL_IMAGE_TAG to "latest", which makes runs non-reproducible; change
these to accept parameterized environment values (same pattern as E2E_REF) so CI
can be run with specific RC tags while defaulting to "latest" only if not
provided, and update the job description to document that behavior so callers
know whether the job intentionally follows the latest builds or a pinned RC
version.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In
`@ci-operator/config/openshift-hyperfleet/hyperfleet-e2e/openshift-hyperfleet-hyperfleet-e2e-main__rc-e2e.yaml`:
- Around line 40-51: The job currently pins ADAPTER_IMAGE_TAG, API_IMAGE_TAG,
and SENTINEL_IMAGE_TAG to "latest", which makes runs non-reproducible; change
these to accept parameterized environment values (same pattern as E2E_REF) so CI
can be run with specific RC tags while defaulting to "latest" only if not
provided, and update the job description to document that behavior so callers
know whether the job intentionally follows the latest builds or a pinned RC
version.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 4b801e2b-b15c-43a9-a837-67d0ac7f7fe9

📥 Commits

Reviewing files that changed from the base of the PR and between 5db04be and 4e32c2a.

📒 Files selected for processing (1)
  • ci-operator/config/openshift-hyperfleet/hyperfleet-e2e/openshift-hyperfleet-hyperfleet-e2e-main__rc-e2e.yaml

@ciaranRoche
Copy link
Copy Markdown
Member Author

/pj-rehearse auto-ack

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@ciaranRoche: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@ciaranRoche
Copy link
Copy Markdown
Member Author

/pj-rehearse periodic-ci-openshift-hyperfleet-hyperfleet-e2e-main-e2e-tier1-nightly

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@ciaranRoche: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@ciaranRoche
Copy link
Copy Markdown
Member Author

/pj-rehearse periodic-ci-openshift-hyperfleet-hyperfleet-e2e-main-e2e-tier2-nightly

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@ciaranRoche: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@ciaranRoche
Copy link
Copy Markdown
Member Author

/pj-rehearse periodic-ci-openshift-hyperfleet-hyperfleet-e2e-main-rc-e2e-rc-e2e

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@ciaranRoche: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@ciaranRoche
Copy link
Copy Markdown
Member Author

/pj-rehearse periodic-ci-openshift-hyperfleet-hyperfleet-e2e-main-e2e-tier0-nightly

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@ciaranRoche: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@ciaranRoche
Copy link
Copy Markdown
Member Author

/pj-rehearse ack

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@ciaranRoche: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-merge-bot openshift-merge-bot Bot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label May 21, 2026
@rh-amarin
Copy link
Copy Markdown

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label May 21, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 21, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: ciaranRoche, rh-amarin

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-merge-bot openshift-merge-bot Bot merged commit 77cce2d into openshift:main May 21, 2026
22 of 23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. rehearsals-ack Signifies that rehearsal jobs have been acknowledged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants