promotion-quay: use QCI digest pullspecs for *-quay oc tag sources#5068
Conversation
|
Pipeline controller notification For optional jobs, comment This repository is configured in: automatic mode |
|
Important Review skippedAuto reviews are limited based on label configuration. 🚫 Review skipped — only excluded labels are configured. (1)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughDetects sha256 digests in pipeline image sources and constructs quay-proxy digest-pinned pullspecs. Promotion logic and mirror mapping now prefer those digest-based quay-proxy references; when no digest is present the original tag-based source is used. Tests and promotion fixtures updated accordingly. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
Scheduling tests matching the |
|
Tests from second stage were triggered manually. Pipeline can be controlled only manually, until HEAD changes. Use command to trigger second stage. |
b77e499 to
fc633f1
Compare
fc633f1 to
0a2fc90
Compare
There was a problem hiding this comment.
🧹 Nitpick comments (1)
pkg/steps/release/testdata/zz_fixture_TestGetPromotionPod_promotion_quay_multiple_tags.yaml (1)
29-55: Add one tag-only source fixture for the resolver branch.Every source passed to
resolve_qci_pullspec()here is already digest-pinned, so the branch that has to resolve a raw tag viaoc image infois still untested. The new unit case inpkg/api/promotion_test.gocovers the map-level fallback, but the promotion-pod path for tag-only sources would benefit from one fixture too.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@pkg/steps/release/testdata/zz_fixture_TestGetPromotionPod_promotion_quay_multiple_tags.yaml` around lines 29 - 55, The test fixture only uses digest-pinned sources so the resolver code path that handles tag-only images (which triggers resolve_qci_pullspec -> oc image info) isn't exercised; update the fixture in zz_fixture_TestGetPromotionPod_promotion_quay_multiple_tags.yaml to add one source entry that is a tag (e.g., quay-proxy.ci.openshift.org/openshift/ci:some-tag) instead of an `@sha256` digest so the promotion-pod path and resolve_qci_pullspec behavior for tag resolution are covered; specifically, modify the block that calls resolve_qci_pullspec (the occurrences of resolve_qci_pullspec in the fixture) to include at least one pullspec without a sha256 digest to force the tag-resolution branch to run during the test.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In
`@pkg/steps/release/testdata/zz_fixture_TestGetPromotionPod_promotion_quay_multiple_tags.yaml`:
- Around line 29-55: The test fixture only uses digest-pinned sources so the
resolver code path that handles tag-only images (which triggers
resolve_qci_pullspec -> oc image info) isn't exercised; update the fixture in
zz_fixture_TestGetPromotionPod_promotion_quay_multiple_tags.yaml to add one
source entry that is a tag (e.g.,
quay-proxy.ci.openshift.org/openshift/ci:some-tag) instead of an `@sha256` digest
so the promotion-pod path and resolve_qci_pullspec behavior for tag resolution
are covered; specifically, modify the block that calls resolve_qci_pullspec (the
occurrences of resolve_qci_pullspec in the fixture) to include at least one
pullspec without a sha256 digest to force the tag-resolution branch to run
during the test.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 55c41d49-e7d6-47ee-ac90-3e32e360880c
📒 Files selected for processing (6)
pkg/api/promotion.gopkg/api/promotion_test.gopkg/steps/release/promote.gopkg/steps/release/promote_test.gopkg/steps/release/testdata/zz_fixture_TestGetPromotionPod_promotion_quay.yamlpkg/steps/release/testdata/zz_fixture_TestGetPromotionPod_promotion_quay_multiple_tags.yaml
✅ Files skipped from review due to trivial changes (1)
- pkg/steps/release/promote.go
🚧 Files skipped from review as they are similar to previous changes (2)
- pkg/steps/release/promote_test.go
- pkg/steps/release/testdata/zz_fixture_TestGetPromotionPod_promotion_quay.yaml
|
/lgtm |
|
Scheduling tests matching the |
|
Tests from second stage were triggered manually. Pipeline can be controlled only manually, until HEAD changes. Use command to trigger second stage. |
1 similar comment
|
Tests from second stage were triggered manually. Pipeline can be controlled only manually, until HEAD changes. Use command to trigger second stage. |
|
Tests from second stage were triggered manually. Pipeline can be controlled only manually, until HEAD changes. Use command to trigger second stage. |
|
/hold |
a2b8ae1 to
b8c60b2
Compare
|
Scheduling tests matching the |
|
Tests from second stage were triggered manually. Pipeline can be controlled only manually, until HEAD changes. Use command to trigger second stage. |
2 similar comments
|
Tests from second stage were triggered manually. Pipeline can be controlled only manually, until HEAD changes. Use command to trigger second stage. |
|
Tests from second stage were triggered manually. Pipeline can be controlled only manually, until HEAD changes. Use command to trigger second stage. |
fb3613f to
f44f3cb
Compare
f44f3cb to
a652ea6
Compare
|
/unhold |
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: deepsm007, hector-vido, jupierce, Prucek The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
Tests from second stage were triggered manually. Pipeline can be controlled only manually, until HEAD changes. Use command to trigger second stage. |
|
@deepsm007: The following test failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
c8ee740
into
openshift:main
promotion-quaytags*-quayImageStreams usingquay-proxy.ci.openshift.org/openshift/ci@sha256:...(same digest as the build). (https://redhat.atlassian.net/browse/DPTP-4340)/cc @jupierce @openshift/test-platform