ci: scope legacy release builds to the v* tag series - #1385
Conversation
PR Summary by QodoScope legacy release builds to v* tags
AI Description
Diagram
High-Level Assessment
Files changed (2)
|
|
🤖 Finished Review · ✅ Success · Started 10:47 PM UTC · Completed 10:59 PM UTC Commit: Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $3.20 |
Code Review by Qodo🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)
Great, no issues found!Qodo reviewed your code and found no material issues that require reviewTip of the day💡 Did you know, you can turn these tips off under Display preferences |
|
Risk Assessment: moderate (2/5) DetailsSmall, targeted CI-only change (2 files, 18 lines) by a known contributor with no security-sensitive or dependency modifications; PROTECTED_PATH_COUNT=2 and CI_WORKFLOW_CHANGED=true reflect inherent CI file risk, but the minimal blast radius and stable git history keep the score at moderate. Previous runRisk Assessment: moderate (2/5) DetailsSmall CI workflow change (2 files, 18 lines) from an established author on low-churn, stable files; protected-path and CI-change signals moderately elevate risk but the minimal scope and clean git history keep the score at moderate. |
ReviewFindingsHigh
Low
Next steps:
Previous runReviewFindingsHigh
Low
Next steps:
|
|
/fs-fix-stop |
Releases have only ever been cut from master, so both release workflows assumed every tag in the repo belonged to the legacy track. Cutting the first release from main (containerized IIB) breaks that assumption. build.yml triggers on `release: published`, and GitHub cannot filter release events by tag name under `on:`. A release published from main would therefore be checked out and pushed as `latest` -- the channel the legacy track promotes to the `prod` tag on Quay from. Guard the job so it only builds `v*` releases. build_on_tag.api.yml triggers on `tags: '*'`, so any tag would rebuild iib-api:qe. Narrow it to `v*`. The scheduled and manual paths in build.yml need no guard: they resolve their tag via find-latest-tag with prefix 'v', which already excludes the `ocp-v*` series used by main. Leaving that step untouched also keeps the weekly base-layer rebuild pinned to the legacy release, so the images feeding `prod` keep receiving RPM/CVE refreshes. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: Yashvardhan Nanavati <yashn@bu.edu>
8f6f8bb to
37b4e56
Compare
|
Fix agent disabled for this PR. Remove the |
|
🤖 Finished Review · ✅ Success · Started 3:39 AM UTC · Completed 3:53 AM UTC Commit: Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $2.93 |
|
🤖 Finished Retro · ✅ Success · Started 6:25 AM UTC · Completed 6:34 AM UTC Commit: Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $2.64 |
Retro: PR #1385 — ci: scope legacy release builds to the v* tag seriesWorkflow quality: Good overall, with one infrastructure issue inflating cost. This was a clean, human-authored CI change (+17/−1 across 2 workflow files) by a known contributor. The review agent ran twice (Sep 10 at $3.20 and Sep 16 at $2.93 = $6.13 total), both times producing identical procedural findings — Timeline
Evidence for existing issues (no new proposals needed)All identified improvement areas have existing open issues in
|
Releases have only ever been cut from master, so both release workflows assumed every tag in the repo belonged to the legacy track. Cutting the first release from main (containerized IIB) breaks that assumption.
build.yml triggers on
release: published, and GitHub cannot filter release events by tag name underon:. A release published from main would therefore be checked out and pushed aslatest-- the channel the legacy track promotes to theprodtag on Quay from. Guard the job so it only buildsv*releases.build_on_tag.api.yml triggers on
tags: '*', so any tag would rebuild iib-api:qe. Narrow it tov*.The scheduled and manual paths in build.yml need no guard: they resolve their tag via find-latest-tag with prefix 'v', which already excludes the
ocp-v*series used by main. Leaving that step untouched also keeps the weekly base-layer rebuild pinned to the legacy release, so the images feedingprodkeep receiving RPM/CVE refreshes.