HYPERFLEET-1132 - feat: enable parallel E2E execution in CI#82238
HYPERFLEET-1132 - feat: enable parallel E2E execution in CI#82238kuudori wants to merge 2 commits into
Conversation
Switch the hyperfleet-e2e test step from the serial binary runner to the ginkgo CLI with --procs=4 for parallel multi-process execution. The hyperfleet-e2e Docker image already ships both the ginkgo CLI and the compiled e2e.test binary. This change wires the test step to use them instead of the monolithic hyperfleet-e2e binary. When E2E_REF override is set, the step now also builds the ginkgo CLI and e2e.test binary from the cloned source. Adds PROCS env var (default 4) to the step ref for configurability.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Central YAML (inherited) Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
WalkthroughThe HyperFleet E2E step now builds Ginkgo and a standalone test binary for ref-based runs, then executes tests through Ginkgo with configurable parallelism, filtering, retries, and JUnit reporting. ChangesHyperFleet E2E execution
Estimated code review effort: 3 (Moderate) | ~20 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 15✅ Passed checks (15 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: kuudori The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 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 87-95: Update the Ginkgo invocation in the e2e test command to
pass the configured SUITE_TIMEOUT value through the --timeout flag, preserving
the existing default or configuration behavior documented for the suite. Keep
the remaining execution options and E2E_TEST_BIN invocation unchanged.
- Around line 23-35: Update the E2E_REF clone flow to create a unique temporary
directory with mktemp -d, use that directory consistently for cloning and binary
outputs, and set TESTDATA to its testdata subdirectory. Replace the stateful “cd
.bingo”/“cd ..” traversal around the Ginkgo build with a subshell, anchoring the
changes to the E2E_REF block and GINKGO_BIN/E2E_TEST_BIN assignments.
🪄 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: f11c8c4d-d0b8-49be-98cf-179a69348cec
📒 Files selected for processing (2)
ci-operator/step-registry/openshift-hyperfleet/e2e/test/openshift-hyperfleet-e2e-test-commands.shci-operator/step-registry/openshift-hyperfleet/e2e/test/openshift-hyperfleet-e2e-test-ref.yaml
- Use mktemp -d instead of hardcoded /tmp/e2e-src path
- Wrap .bingo build in subshell to avoid cd state leaks
- Pass --timeout=${SUITE_TIMEOUT:-2h} to ginkgo CLI to preserve
the existing 2h default and prevent premature kills on combined
tier0+tier1 runs
|
[REHEARSALNOTIFIER]
Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
|
@kuudori: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions 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 kubernetes-sigs/prow repository. I understand the commands that are listed here. |
Summary
--procs=4PROCSenv var to step ref (default 4, configurable per job)E2E_REFoverride is set, also build ginkgo CLI and e2e.test from cloned sourceContext
The
hyperfleet-e2eDocker image already ships bothginkgoande2e.testbinaries (added in hyperfleet-e2e PR #150). This change wires the CI step to use them.Expected improvement: tier0 suite runtime from ~2h (serial) to ~20-30min (4 parallel processes).
Test plan
${ARTIFACT_DIR}Summary by CodeRabbit
Updates the OpenShift Hyperfleet CI E2E test step to run via the Ginkgo CLI with parallel execution (default
PROCS=4) instead of the serialhyperfleet-e2ebinary runner. WhenMULTISTAGE_PARAM_OVERRIDE_E2E_REF(i.e.,E2E_REF) is set, the step clones that ref into a temporary directory, builds the suite, additionally compiles theginkgoCLI ande2e.testbinary for parallel runs, and copies the generatedenv/configsplus matching testdata into/tmp/e2e. Test execution now uses configurable--timeout(defaultSUITE_TIMEOUT=2h), label filtering, and retries, while emitting JUnit results to the artifact output directory.