OCPBUGS-79591: Prepare 1.3.4 release#436
Conversation
`check-labels` task in release pipeline enforces the usage of names which correspond to product security metadata. Without this change, releasing to stage/prod is failing.
📝 WalkthroughWalkthroughThe pull request bumps the external-dns operator version from 1.3.3 to 1.3.4 across multiple files. Containerfile labels are updated with new naming conventions (prefixed with 🚥 Pre-merge checks | ✅ 12✅ Passed checks (12 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
@alebedev87: This pull request references Jira Issue OCPBUGS-79591, which is valid. 3 validation(s) were run on this bug
The bug has been updated to refer to the pull request using the external bug tracker. DetailsIn response to this:
Instructions 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 openshift-eng/jira-lifecycle-plugin repository. |
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
hack/sync-version.sh (1)
46-52:⚠️ Potential issue | 🟠 Major | ⚡ Quick winRelease drift is missed when
versionis already in sync.The update branch only triggers when
current_versiondiffers. Ifversionmatches butreleaseis stale, Line 46 reports OK and Line 51 never runs.Proposed fix
- current_version=$(grep -oP 'version="\K[^"]+' "$containerfile" | head -1) + current_version=$(grep -oP 'version="\K[^"]+' "$containerfile" | head -1) + current_release=$(grep -oP 'release="\K[^"]+' "$containerfile" | head -1 || true) @@ - if [ "$current_version" = "$version" ]; then + if [ "$current_version" = "$version" ] && { [ -z "$current_release" ] || [ "$current_release" = "$version" ]; }; then echo "[OK] $(basename "$containerfile"): already in sync ($version)" else echo "[UPDATE] $(basename "$containerfile"): updating from $current_version to $version" sed -i "s/version=\"[^\"]*\"/version=\"$version\"/" "$containerfile" - sed -i "s/release=\"[^\"]*\"/release=\"$version\"/" "$containerfile" + if grep -q 'release="' "$containerfile"; then + sed -i "s/release=\"[^\"]*\"/release=\"$version\"/" "$containerfile" + fi any_updated=true fi🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@hack/sync-version.sh` around lines 46 - 52, The script currently skips updating release when version matches because the if checks only current_version vs version; modify the logic to also read the current release from "$containerfile" (e.g., current_release via grep/sed like current_release=$(grep -oP 'release="\K[^"]+' "$containerfile")) and then: if both current_version == version and current_release == version print OK, else run the sed replacements for version and release as needed and set any_updated=true; ensure you echo an update message when release is changed even if version was already in sync and update only the fields that differ.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@bundle/manifests/external-dns-operator.clusterserviceversion.yaml`:
- Around line 341-349: The CSV was bumped to name: external-dns-operator.v1.3.4
and olm.skipRange: <1.3.4 but the catalog entries were not updated; update both
catalog.yaml and catalog-template.yaml to add an entry for version
external-dns-operator.v1.3.4 and set replaces: external-dns-operator.v1.3.3 so
the upgrade chain is continuous, ensuring the new CSV name and olm.skipRange
remain as in the CSV.
---
Outside diff comments:
In `@hack/sync-version.sh`:
- Around line 46-52: The script currently skips updating release when version
matches because the if checks only current_version vs version; modify the logic
to also read the current release from "$containerfile" (e.g., current_release
via grep/sed like current_release=$(grep -oP 'release="\K[^"]+'
"$containerfile")) and then: if both current_version == version and
current_release == version print OK, else run the sed replacements for version
and release as needed and set any_updated=true; ensure you echo an update
message when release is changed even if version was already in sync and update
only the fields that differ.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Central YAML (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: c71c4c7d-367e-4259-a995-0f294a10faf3
📒 Files selected for processing (5)
Containerfile.external-dns-operatorContainerfile.external-dns-operator-bundleVERSIONbundle/manifests/external-dns-operator.clusterserviceversion.yamlhack/sync-version.sh
| olm.skipRange: <1.3.4 | ||
| operatorframework.io/suggested-namespace: external-dns-operator | ||
| operators.openshift.io/valid-subscription: '["OpenShift Kubernetes Engine", "OpenShift | ||
| Container Platform", "OpenShift Platform Plus"]' | ||
| operators.operatorframework.io/builder: operator-sdk-v1.16.0+git | ||
| operators.operatorframework.io/project_layout: go.kubebuilder.io/v3 | ||
| repository: https://github.com/openshift/external-dns-operator | ||
| support: Red Hat, Inc. | ||
| name: external-dns-operator.v1.3.3 | ||
| name: external-dns-operator.v1.3.4 |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "CSV version fields:"
rg -n 'name:\s*external-dns-operator\.v|olm\.skipRange:\s*<1\.3|^\s*version:\s*1\.3' \
bundle/manifests/external-dns-operator.clusterserviceversion.yaml
echo
echo "Catalog references:"
rg -n 'external-dns-operator\.v1\.3\.[0-9]+|skipRange:\s*<1\.3\.[0-9]+' \
catalog/v4.21/catalog.yaml catalog/v4.21/catalog-template.yamlRepository: openshift/external-dns-operator
Length of output: 3990
Update catalog files to include v1.3.4 and maintain upgrade-chain consistency.
The CSV has been bumped to v1.3.4 with olm.skipRange: <1.3.4, but catalog/v4.21/catalog.yaml and catalog/v4.21/catalog-template.yaml still reference only up to v1.3.3. Add entries for v1.3.4 in both catalog files with replaces: external-dns-operator.v1.3.3 to ensure the upgrade path is available to users.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@bundle/manifests/external-dns-operator.clusterserviceversion.yaml` around
lines 341 - 349, The CSV was bumped to name: external-dns-operator.v1.3.4 and
olm.skipRange: <1.3.4 but the catalog entries were not updated; update both
catalog.yaml and catalog-template.yaml to add an entry for version
external-dns-operator.v1.3.4 and set replaces: external-dns-operator.v1.3.3 so
the upgrade chain is continuous, ensuring the new CSV name and olm.skipRange
remain as in the CSV.
There was a problem hiding this comment.
This will be done in follow up PRs.
There was a problem hiding this comment.
@alebedev87, understood! Would you like me to open a GitHub issue to track the catalog file updates (adding v1.3.4 entries with replaces: external-dns-operator.v1.3.3 in catalog/v4.21/catalog.yaml and catalog/v4.21/catalog-template.yaml) as a follow-up?
There was a problem hiding this comment.
No, before the FBCs are updated we will need to get a bundle but this bundle will need the changes from this PR.
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: grzpiotrowski 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 |
|
@alebedev87: all tests passed! 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. |
|
@alebedev87: Jira Issue OCPBUGS-79591: All pull requests linked via external trackers have merged:
Jira Issue OCPBUGS-79591 has been moved to the MODIFIED state. DetailsIn response to this:
Instructions 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 openshift-eng/jira-lifecycle-plugin repository. |
namelabels inContainerfile.external-dns-operatorandContainerfile.external-dns-operator-bundleto match product security metadata required by thecheck-labelsrelease taskversionlabel to1.3.4in Containerfiles,VERSION, and CSV