OSAC-3354/3355/3356: E2E validation workflows for snapshot flavors - #36
Conversation
Gate checks that boot a cluster from a snapshot flavor, run the E2E test suite, and report pass/fail. The build workflow gates publishing on the validation result -- a bad snapshot breaks all CI for everyone. - validate-snapshot.yaml: reusable workflow with common boot/test/cleanup logic (pull flavor, boot clone, refresh OSAC, build test container from osac-test-infra, run pytest suite, upload results, destroy clone) - validate-vmaas.yaml: VMaaS validation (OSAC-3354) - validate-caas.yaml: CaaS validation (OSAC-3355) - validate-bmaas.yaml: BMaaS validation (OSAC-3356) Each thin caller supports both workflow_dispatch (manual) and workflow_call (called by build workflows). Concurrency groups prevent duplicate runs for the same snapshot tag. Signed-off-by: Omer Vishlitzky <ovishliz@redhat.com> Assisted-by: Claude Code <noreply@anthropic.com> Signed-off-by: omer-vishlitzky <omer.vishlitzky@gmail.com>
|
Warning Review limit reached
Next review available in: 15 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Repository: osac-project/coderabbit/.coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (4)
WalkthroughAdded reusable and manually dispatchable workflows for BMaaS, CaaS, and VMaaS snapshot validation. A shared workflow resolves images, prepares a cluster, refreshes OSAC, runs E2E tests, uploads artifacts, reports status, and cleans resources. ChangesSnapshot validation
Estimated code review effort: 3 (Moderate) | ~25 minutes Sequence Diagram(s)sequenceDiagram
participant WorkflowCaller
participant ValidateSnapshot
participant ValidationCluster
participant E2ESuite
participant ArtifactStorage
WorkflowCaller->>ValidateSnapshot: submit snapshot validation inputs
ValidateSnapshot->>ValidationCluster: boot and refresh validation cluster
ValidateSnapshot->>E2ESuite: run selected pytest suite
E2ESuite-->>ValidateSnapshot: return test outcome and output
ValidateSnapshot->>ArtifactStorage: upload E2E output
ValidateSnapshot-->>WorkflowCaller: return validation_passed
ValidateSnapshot->>ValidationCluster: destroy cluster and clean resources
Caution Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional.
❌ Failed checks (1 error, 1 inconclusive)
✅ Passed checks (9 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 |
Code Review FindingsMAJOR — actions/checkout SHA mismatch
Fix: Use correct v4 SHA, or update comment to v6 if that's intentional. MAJOR —
|
Signed-off-by: omer-vishlitzky <omer.vishlitzky@gmail.com> Assisted-by: Claude Code <noreply@anthropic.com>
Signed-off-by: omer-vishlitzky <omer.vishlitzky@gmail.com> Assisted-by: Claude Code <noreply@anthropic.com>
|
Superseded by #38 (unified snapshot pipeline PR) |
Summary
flavor, run the matching test suite, and report pass/fail
validate-snapshot.yaml) handles the commonlogic: pull flavor, boot clone, refresh OSAC deployment, build test
container from osac-test-infra, run pytest, upload results, and destroy
the clone
validate-vmaas.yaml(OSAC-3354),validate-caas.yaml(OSAC-3355),validate-bmaas.yaml(OSAC-3356)workflow_dispatch(manual) andworkflow_call(called by build workflows to gate publishing)
Jira: OSAC-3354, OSAC-3355, OSAC-3356
Test plan
validate-vmaasvia workflow_dispatch with a known-good snapshot tagvalidate-caasandvalidate-bmaassimilarlyvalidation_passedoutput istrueon success,falseon failurevalidate-vmaasviaworkflow_calland confirm the output gates publishingSummary by CodeRabbit