fix waiver baseline tag selection - #2
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This PR fixes waiver baseline selection in the release qualification gate by ensuring the “previous qualified” candidate used for git diffing is also an actual Git tag (since qualification receipts may exist for unreleased candidate directories).
Changes:
- Add
previous_released_qualified_tag()to walk backward through qualified candidates until it finds one that exists as a Git tag. - Update waiver logic to use the released+qualified baseline and clarify the refusal message.
- Add regression tests covering the case where a qualified candidate receipt exists but the candidate was never released/tagged.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
check-qualification.py |
Adds tag-existence filtering for waiver baseline selection and updates waiver behavior accordingly. |
tests/test_check_qualification.py |
Adds regression tests ensuring unreleased qualified candidates are skipped for waiver baselines. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+92
to
+95
| def _git_tag_exists(tag: str) -> bool: | ||
| """Whether ``tag`` names a real Git tag in the release checkout.""" | ||
| result = run(["git", "show-ref", "--verify", "--quiet", f"refs/tags/{tag}"]) | ||
| return result.returncode == 0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
20260730-style case where a device receipt exists for a candidate that was never releasedWhy
Release run 31794466099 selected
qualification/20260730as the previous qualified tag, then failed trying to diff20260730..HEADbecause20260730is not a Git tag. The repository documentation explicitly allows qualification receipts for candidates that were never released.The waiver now walks backward through qualified candidates until it finds one that is also a real Git tag, so the current 3.14.7 release can compare against the last released qualified baseline (
20260729).Validation
CI should exercise the new regression tests and the existing check suite. After merge, re-run the release workflow with the same release inputs.