fix(elliott): broaden cutoff filter to accept any post-fix status at timestamp - #3274
fix(elliott): broaden cutoff filter to accept any post-fix status at timestamp#3274joepvd wants to merge 2 commits into
Conversation
|
/hold |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: openshift-eng/coderabbit/.coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
Included review availability: Your plan includes up to 12 reviews per rolling hour; 11 remain after this review. WalkthroughHistorical cutoff filtering now accepts bugs in any post-fix status at the cutoff. The pipeline runs ChangesBug sweep flow
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to The PR broadens historical cutoff eligibility to include bugs fixed before the cutoff but verified later, while retaining the current VERIFIED requirement. No actionable merge-blocking risk remains beyond normal checks and review. Sequence Diagram(s)sequenceDiagram
participant rebase_and_build_images
participant rebase_images
participant sweep_bugs
participant image_builds
rebase_and_build_images->>rebase_images: rebase images
rebase_and_build_images->>sweep_bugs: sweep MODIFIED bugs
rebase_and_build_images->>image_builds: build images
🚥 Pre-merge checks | ✅ 10 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (10 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
516958e to
c6b68a8
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@pyartcd/pyartcd/pipelines/ocp4_konflux.py`:
- Around line 624-626: Gate sweep_bugs() on a completed, eligible rebase rather
than calling it unconditionally after rebase_images(). Update rebase_images() to
return the successfully rebased scope, account for no-image builds, skip_rebase,
partial failures, and ONLY/EXCEPT strategies, and pass that scope to limit bug
updates or skip sweeping when no valid scope exists. Revise the surrounding
documentation and add regression tests covering each listed scenario.
🪄 Autofix
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: openshift-eng/coderabbit/.coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 7a532033-ccde-4699-a756-1d8f8a2bd97e
📒 Files selected for processing (2)
elliott/elliottlib/cli/find_bugs_sweep_cli.pypyartcd/pyartcd/pipelines/ocp4_konflux.py
🚧 Files skipped from review as they are similar to previous changes (1)
- elliott/elliottlib/cli/find_bugs_sweep_cli.py
| Find MODIFIED bugs for the target-releases, and set them to ON_QA. | ||
| Called after rebase so that ON_QA is set before builds complete, making | ||
| the bug status a reliable indicator that the fix was included in the rebase. |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win
Gate sweep_bugs() on an eligible rebase.
rebase_images() can return without rebasing when no images are selected or skip_rebase is enabled. It also returns after handling partial rebase failures. The unconditional call at Lines [906-910] then sweeps the whole group and can move MODIFIED bugs to ON_QA even when their fixes were not rebased.
Return the successfully rebased scope from rebase_images() and use it to limit the sweep, or skip the sweep unless the required rebase completed. Update the documentation to match this behavior. Add regression tests for no-image builds, skipped rebases, partial failures, and ONLY/EXCEPT strategies.
Also applies to: 906-911, 1079-1079
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@pyartcd/pyartcd/pipelines/ocp4_konflux.py` around lines 624 - 626, Gate
sweep_bugs() on a completed, eligible rebase rather than calling it
unconditionally after rebase_images(). Update rebase_images() to return the
successfully rebased scope, account for no-image builds, skip_rebase, partial
failures, and ONLY/EXCEPT strategies, and pass that scope to limit bug updates
or skip sweeping when no valid scope exists. Revise the surrounding
documentation and add regression tests covering each listed scenario.
c6b68a8 to
8381bf8
Compare
…timestamp The bug sweep's cutoff filter previously required bugs to have been in VERIFIED state at the assembly basis timestamp. This was too strict: a bug that was MODIFIED or ON_QA at the cutoff (already fixed, just not yet verified) would be incorrectly excluded. Now the historical check accepts MODIFIED, ON_QA, VERIFIED, RELEASE_PENDING, or CLOSED at the cutoff time. The initial search still ensures the bug is currently VERIFIED, so only bugs that are both verified now AND were already fixed at the cutoff are swept. rh-pre-commit.version: 2.4.0 rh-pre-commit.check-secrets: ENABLED
Previously sweep_bugs (MODIFIED → ON_QA) ran in the finally block after builds completed and images were synced. This meant a bug's ON_QA status was set well after basis.time (build completion time), making it unreliable as a signal for the cutoff filter in elliott find-bugs:sweep. Moving the call to right after rebase_images ensures that by the time builds complete (and basis.time is derived), all bugs whose fixes were incorporated in the rebase are already ON_QA. This makes the cutoff filter's check for "ON_QA at timestamp" semantically correct: a bug was ON_QA at basis.time iff its fix was included in the rebase. rh-pre-commit.version: 2.4.0 rh-pre-commit.check-secrets: ENABLED
8381bf8 to
7dd8c77
Compare
|
@joepvd: 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. |
Summary
Test plan
test_find_bugs_sweep_cli.py— 32 tests)elliott find-bugs:sweepagainst an assembly with a basis event and confirm bugs that were ON_QA/MODIFIED at cutoff but VERIFIED now are includedSummary by CodeRabbit
Bug Fixes
Improvements