Skip to content

promotion: always use promotion-quay only#5278

Draft
deepsm007 wants to merge 1 commit into
openshift:mainfrom
deepsm007:promotion-quay-only
Draft

promotion: always use promotion-quay only#5278
deepsm007 wants to merge 1 commit into
openshift:mainfrom
deepsm007:promotion-quay-only

Conversation

@deepsm007

@deepsm007 deepsm007 commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

/hold
/cc @jupierce

This PR requires a major announcement as it will change for all ocp and non ocp ns and we stop pushing anything to app.ci and only do tag reference.

This updates ci-operator’s promotion flow to use only the Quay-based promotion path.

Practically, promotion jobs will no longer generate the older app.ci promotion step or push artifacts there; instead, they now rely solely on tag-based references through the promotion-quay step. The change applies broadly across OCP and non-OCP namespaces, so any CI consumers of promotion behavior will see the same consolidated Quay-only promotion semantics.

Tests were updated to reflect that promotion post-steps now include only [promotion-quay] in the affected scenarios.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: automatic mode

@openshift-ci openshift-ci Bot requested a review from jupierce June 26, 2026 13:28
@openshift-ci openshift-ci Bot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. labels Jun 26, 2026
@openshift-ci

openshift-ci Bot commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

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

@coderabbitai

coderabbitai Bot commented Jun 26, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 96093617-1ae6-43d7-973b-884e408bc93f

📥 Commits

Reviewing files that changed from the base of the PR and between f13d4ca and 3a522a5.

📒 Files selected for processing (2)
  • pkg/defaults/defaults.go
  • pkg/defaults/defaults_test.go
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • openshift/release (manual)
  • openshift/ci-docs (manual)
  • openshift/release-controller (manual)
  • openshift/ci-chat-bot (manual)
💤 Files with no reviewable changes (1)
  • pkg/defaults/defaults.go

📝 Walkthrough

Walkthrough

The promotion path now omits the generic promotion step and continues with Quay-specific promotion handling. The TestFromConfig promotion cases were updated to expect only [promotion-quay].

Changes

Promotion step selection

Layer / File(s) Summary
Promotion logic
pkg/defaults/defaults.go
The cfg.Promote block no longer appends the generic promotion step before the Quay-specific branch.
Promotion expectations
pkg/defaults/defaults_test.go
TestFromConfig updates the “promote”, “promote 4.23 legacy quay”, and “promote 5.0 legacy quay” cases to expect only [promotion-quay] in expectedPost.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 16 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (16 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: promotion now uses only the Quay-specific step.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Go Error Handling ✅ Passed No Go error-handling regressions: the PR only removes a promotion branch and updates tests; existing error paths still guard nil and wrap with fmt.Errorf.
Test Coverage For New Features ✅ Passed Promotion behavior change is covered by table-driven TestFromConfig cases updated to expect only [promotion-quay], which would fail on the old code.
Stable And Deterministic Test Names ✅ Passed The touched tests keep static literal names; the promotion cases use fixed strings and no dynamic values or generated identifiers.
Test Structure And Quality ✅ Passed defaults_test.go is table-driven t.Run unit tests, not Ginkgo; no Eventually/cleanup/timeouts issues, and the PR only updates expected post-step lists.
Microshift Test Compatibility ✅ Passed PASS: The changed test is a standard testing.T unit test (TestFromConfig); no new Ginkgo e2e tests or MicroShift-unsupported APIs/features were added.
Single Node Openshift (Sno) Test Compatibility ✅ Passed Touched files are defaults logic and table-driven unit tests only; no new Ginkgo e2e tests or SNO-sensitive assumptions were added.
Topology-Aware Scheduling Compatibility ✅ Passed Only promotion-step logic and tests changed; no manifests/controllers/scheduling constraints or topology assumptions were added.
Ote Binary Stdout Contract ✅ Passed The PR only adjusts promotion defaults/tests; no main/init/TestMain/Ginkgo setup stdout writes were added, and the touched files contain no fmt.Print/klog stdout usage.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed No new Ginkgo e2e tests were added; the change only updates pkg/defaults unit tests and promotion logic, with no IPv4 or external-connectivity assumptions.
No-Weak-Crypto ✅ Passed PASS: The only touched code is promotion step selection/tests; changed files contain no crypto imports, weak algorithms, or secret comparisons.
Container-Privileges ✅ Passed Touched files are Go defaults/tests only; no privileged/host* settings or securityContext fields were added in the PR.
No-Sensitive-Data-In-Logs ✅ Passed No new logging was introduced in the changed lines; the PR only alters promotion-step selection and test expectations.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@openshift-ci

openshift-ci Bot commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: deepsm007

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant