Skip to content

ROX-31023: arm64 support for operator images (2nd)#17140

Merged
mclasmeier merged 8 commits intomasterfrom
mc/operator-arm64-2
Oct 14, 2025
Merged

ROX-31023: arm64 support for operator images (2nd)#17140
mclasmeier merged 8 commits intomasterfrom
mc/operator-arm64-2

Conversation

@mclasmeier
Copy link
Contributor

This is another attempt at #16915, which got reverted during CI failures on master.

The problems occurring on master before looked like this:

Error response from daemon: manifest for quay.io/rhacs-eng/stackrox-operator:latest-amd64 not found: manifest unknown: manifest unknown

So, on master merges we were missing the "latest" tags for the arch-specific operator images.

Commit d7b0dee addresses this. The rest is the same as the original PR, just rebased on current master.

@openshift-ci
Copy link

openshift-ci bot commented Oct 6, 2025

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@mclasmeier mclasmeier changed the title Mc/operator arm64 2 ROX-31023: arm64 support for operator images (2nd) Oct 6, 2025
sourcery-ai[bot]
sourcery-ai bot previously requested changes Oct 6, 2025
Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

Hey there - I've reviewed your changes - here's some feedback:

Blocking issues:

  • An action sourced from a third-party repository on GitHub is not pinned to a full length commit SHA. Pinning an action to a full length commit SHA is currently the only way to use an action as an immutable release. Pinning to a particular SHA helps mitigate the risk of a bad actor adding a backdoor to the action's repository, as they would need to generate a SHA-1 collision for a valid Git object payload. (link)
  • An action sourced from a third-party repository on GitHub is not pinned to a full length commit SHA. Pinning an action to a full length commit SHA is currently the only way to use an action as an immutable release. Pinning to a particular SHA helps mitigate the risk of a bad actor adding a backdoor to the action's repository, as they would need to generate a SHA-1 collision for a valid Git object payload. (link)

General comments:

  • Double-check that the push_operator_multiarch_manifests.archs matrix value matches what your push_operator_manifest_lists script expects (CSV vs array) so it actually pushes all arches correctly.
  • You’re only running operator unit tests on amd64—consider using QEMU to run them on arm64 too so you catch any arch-specific failures earlier.
  • There’s a lot of duplicated logic for determining push_context and pushing images/manifests; consider extracting that into a shared CI function or action to reduce boilerplate.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- Double-check that the `push_operator_multiarch_manifests.archs` matrix value matches what your `push_operator_manifest_lists` script expects (CSV vs array) so it actually pushes all arches correctly.
- You’re only running operator unit tests on amd64—consider using QEMU to run them on arm64 too so you catch any arch-specific failures earlier.
- There’s a lot of duplicated logic for determining `push_context` and pushing images/manifests; consider extracting that into a shared CI function or action to reduce boilerplate.

## Individual Comments

### Comment 1
<location> `.github/workflows/build.yaml:604` </location>
<code_context>
        uses: docker/setup-buildx-action@v3
</code_context>

<issue_to_address>
**security (yaml.github-actions.security.third-party-action-not-pinned-to-commit-sha):** An action sourced from a third-party repository on GitHub is not pinned to a full length commit SHA. Pinning an action to a full length commit SHA is currently the only way to use an action as an immutable release. Pinning to a particular SHA helps mitigate the risk of a bad actor adding a backdoor to the action's repository, as they would need to generate a SHA-1 collision for a valid Git object payload.

*Source: opengrep*
</issue_to_address>

### Comment 2
<location> `.github/workflows/build.yaml:645` </location>
<code_context>
        uses: docker/setup-qemu-action@v3
</code_context>

<issue_to_address>
**security (yaml.github-actions.security.third-party-action-not-pinned-to-commit-sha):** An action sourced from a third-party repository on GitHub is not pinned to a full length commit SHA. Pinning an action to a full length commit SHA is currently the only way to use an action as an immutable release. Pinning to a particular SHA helps mitigate the risk of a bad actor adding a backdoor to the action's repository, as they would need to generate a SHA-1 collision for a valid Git object payload.

*Source: opengrep*
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@mclasmeier mclasmeier requested review from a team, porridge, tommartensen and vladbologa October 6, 2025 09:29
@mclasmeier mclasmeier marked this pull request as ready for review October 6, 2025 09:29
@mclasmeier mclasmeier requested review from a team as code owners October 6, 2025 09:29
@rhacs-bot
Copy link
Contributor

rhacs-bot commented Oct 6, 2025

Images are ready for the commit at d15f81d.

To use with deploy scripts, first export MAIN_IMAGE_TAG=4.9.x-1059-gd15f81d46a.

@codecov
Copy link

codecov bot commented Oct 6, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 48.83%. Comparing base (6d42774) to head (d15f81d).
⚠️ Report is 20 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master   #17140      +/-   ##
==========================================
- Coverage   48.84%   48.83%   -0.01%     
==========================================
  Files        2717     2717              
  Lines      203231   203231              
==========================================
- Hits        99261    99253       -8     
- Misses      96154    96159       +5     
- Partials     7816     7819       +3     
Flag Coverage Δ
go-unit-tests 48.83% <ø> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Co-authored-by: Marcin Owsiany <porridge@redhat.com>
@mclasmeier mclasmeier requested a review from porridge October 7, 2025 07:03
@mclasmeier mclasmeier dismissed sourcery-ai[bot]’s stale review October 8, 2025 09:56

Keeping it like this for now for consistency reasons.

@mclasmeier mclasmeier merged commit bf99a92 into master Oct 14, 2025
99 of 100 checks passed
@mclasmeier mclasmeier deleted the mc/operator-arm64-2 branch October 14, 2025 10:05
mclasmeier pushed a commit that referenced this pull request Oct 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants