ROX-33792: extract operator bundle build to separate job#19656
Conversation
Extract operator bundle generation from the build-and-push-operator matrix job into a standalone build-operator-bundle job. Changes: - Add new build-operator-bundle job that runs on ubuntu-latest - Job has no dependencies (starts immediately for max parallelism) - Fixed RHACS_BRANDING only (no matrix, no community bundle) - Includes Python setup for bundle helper scripts - Remove bundle build/push/index steps from build-and-push-operator job - Update slack-on-build-failure to depend on build-operator-bundle Benefits: - Maximum parallelism: bundle starts immediately, no waiting - No wasted matrix slots on conditional bundle steps - Simpler operator build matrix (only handles operator images) - No container overhead (runs on host with Go + Python + Docker) - Cleaner separation of bundle vs operator image logic Related: ROX-33792 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Hey - I've left some high level feedback:
- The new
build-operator-bundlejob always runs withROX_PRODUCT_BRANDING: RHACS_BRANDING; if this workflow is also used for upstream/STACKROX branding, consider adding a conditional (similar to the previousmatrix.name != 'STACKROX_BRANDING'check) so you don’t build/push RHACS-specific bundles on non-RHACS runs. - QUAY credentials are currently exposed as job-level environment variables; consider scoping
QUAY_RHACS_ENG_RW_USERNAME/QUAY_RHACS_ENG_RW_PASSWORDonly to the login/push steps to minimize their visibility across unrelated steps.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- The new `build-operator-bundle` job always runs with `ROX_PRODUCT_BRANDING: RHACS_BRANDING`; if this workflow is also used for upstream/STACKROX branding, consider adding a conditional (similar to the previous `matrix.name != 'STACKROX_BRANDING'` check) so you don’t build/push RHACS-specific bundles on non-RHACS runs.
- QUAY credentials are currently exposed as job-level environment variables; consider scoping `QUAY_RHACS_ENG_RW_USERNAME`/`QUAY_RHACS_ENG_RW_PASSWORD` only to the login/push steps to minimize their visibility across unrelated steps.Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
|
Images are ready for the commit at 6b13f56. To use with deploy scripts, first |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #19656 +/- ##
=======================================
Coverage 49.37% 49.37%
=======================================
Files 2743 2743
Lines 207020 207020
=======================================
+ Hits 102215 102219 +4
+ Misses 97221 97218 -3
+ Partials 7584 7583 -1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
The change looks reasonable, but let me first ask: Why? What is the motivation for this change? |
|
@GrimmiMeloni Good point. I should have link the original PR #19417 Currently operator builds are not optimal with lot of duplicated work and not effective cache usage. The goal is to have full build in less then 10 minutes. |
Description
Extract operator bundle generation from the build-and-push-operator matrix job into a standalone build-operator-bundle job.
User-facing documentation
Testing and quality
Automated testing
How I validated my change
CI