Skip to content

[Backport v1.26] [CONTP-1547] Push rc-latest mutable image tags from Operator GitLab pipeline#2907

Merged
khewonc merged 1 commit intov1.26from
backport-2903-to-v1.26
Apr 15, 2026
Merged

[Backport v1.26] [CONTP-1547] Push rc-latest mutable image tags from Operator GitLab pipeline#2907
khewonc merged 1 commit intov1.26from
backport-2903-to-v1.26

Conversation

@dd-octo-sts
Copy link
Copy Markdown

@dd-octo-sts dd-octo-sts bot commented Apr 15, 2026

Backport a646370 from #2903.


What does this PR do?

Updates the GitLab CI pipeline to push rc-latest mutable image tags alongside each vX.Y.Z-rc.W RC release, and prevents RC tags from accidentally updating the latest mutable tag.

Commit breakdown

  • 58be0e6 Directly skip release-latest jobs for RC tags — Adds a when: never guard as the first rule of publish_public_latest (inherited by publish_public_latest_fips via extends) so that RC tags (vX.Y.Z-rc.W) no longer trigger the operator:latest / operator:latest-fips publish jobs. Previously nothing prevented a manually triggered publish_public_latest from promoting an RC to latest.

  • abbc2dc Add public rc-latest tag for RCs — Adds publish_public_rc_latest and publish_public_rc_latest_fips jobs in the release-latest stage. They trigger DataDog/public-images to push operator:rc-latest and operator:rc-latest-fips to DockerHub, activated only on RC tags, as manual jobs consistent with the other release publish jobs.

  • c9ad0d6 Add internal rc-latest tag for RCs — Adds trigger_internal_operator_image_rc_latest and trigger_internal_operator_image_fips_rc_latest jobs in the release-latest stage. They trigger DataDog/images with RELEASE_TAG: rc-latest / rc-latest-fips so the internal registry also receives the mutable RC tag automatically (consistent with trigger_internal_operator_image which also runs automatically on tags). The FIPS variant uses extends following the established pattern.

  • 6315c32 Extends FIPS internal job instead of fully re-defining it — Refactors the pre-existing trigger_internal_operator_image_fips to use extends: trigger_internal_operator_image, overriding only the four FIPS-specific variables (IMAGE_VERSION, TMPL_SRC_IMAGE, RELEASE_TAG, BUILD_TAG). This is consistent with how all other FIPS variants (publish_public_tag_fips, publish_public_latest_fips, etc.) are defined.

  • da6f83a Make internal rc-latest image jobs automatic — Removes the when: manual from trigger_internal_operator_image_rc_latest (inherited by its FIPS variant via extends) to match the behaviour of the existing internal image jobs, which run automatically on tags. Only the public publish jobs are manual.

Motivation

Part of CONTP-1547 — Phase 0 of the Operator Release Transfer to Agent Delivery initiative. Currently, each RC release requires a manual PR to image-vuln-scans to bump the scanned version. By pushing a mutable rc-latest tag, the vulnerability scanning pipeline can always read the latest RC image automatically.

Additional Notes

Steps 3 and 4 of CONTP-1547 (updating image-vuln-scans and verifying the scan pipeline) will be handled separately.

Minimum Agent Versions

N/A — pipeline-only change.

Describe your test plan

Verify on the next RC release (vX.Y.Z-rc.W tag) that:

  • publish_public_rc_latest and publish_public_rc_latest_fips appear as manual jobs in the release-latest stage
  • trigger_internal_operator_image_rc_latest and trigger_internal_operator_image_fips_rc_latest run automatically in the release-latest stage
  • publish_public_latest and publish_public_latest_fips do not appear (skipped by the new when: never rule)

Checklist

  • PR has at least one valid label: bug, enhancement, refactoring, documentation, tooling, and/or dependencies
  • PR has a milestone or the qa/skip-qa label
  • All commits are signed (see: signing commits)

…ipeline (#2903)

* Directly skip release-latest jobs for RCs tags

* Add public rc-latest tag for RCs

* Add internal rc-latest tag for RCs

* Extends FIPS internal job instead of fully re-defining it

* Make internal rc-latest image jobs automatic

Consistent with trigger_internal_operator_image and
trigger_internal_operator_image_fips which run automatically on tags.
Only the public publish jobs are manual.

(cherry picked from commit a646370)
@dd-octo-sts dd-octo-sts bot requested a review from a team as a code owner April 15, 2026 15:02
@dd-octo-sts dd-octo-sts bot added backport label added by backport action bot label added by backport bot team/container-platform labels Apr 15, 2026
@dd-octo-sts dd-octo-sts bot added this to the v1.26.0 milestone Apr 15, 2026
@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Apr 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 40.05%. Comparing base (35f861a) to head (a847ffa).

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##            v1.26    #2907   +/-   ##
=======================================
  Coverage   40.05%   40.05%           
=======================================
  Files         319      319           
  Lines       28052    28052           
=======================================
  Hits        11237    11237           
  Misses      15993    15993           
  Partials      822      822           
Flag Coverage Δ
unittests 40.05% <ø> (ø)

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


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 35f861a...a847ffa. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@khewonc khewonc merged commit c3d0d96 into v1.26 Apr 15, 2026
62 checks passed
@khewonc khewonc deleted the backport-2903-to-v1.26 branch April 15, 2026 18:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport label added by backport action bot label added by backport bot qa/skip-qa team/container-platform tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants