Skip to content

Accept post-release wheel versions in release validation#2178

Open
fallintoplace wants to merge 1 commit into
NVIDIA:mainfrom
fallintoplace:fix-post-release-wheel-validation
Open

Accept post-release wheel versions in release validation#2178
fallintoplace wants to merge 1 commit into
NVIDIA:mainfrom
fallintoplace:fix-post-release-wheel-validation

Conversation

@fallintoplace

@fallintoplace fallintoplace commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

Summary

  • reuse the release-note tag parser in validate-release-wheels
  • preserve .postN versions from release tags instead of truncating to X.Y.Z
  • keep release wheel tag parsing aligned with the existing release-note tag rules

Why

Post-release tags such as v12.6.2.post1 were parsed as 12.6.2, so valid wheels like cuda_bindings-12.6.2.post1-...whl failed release validation before upload or publishing.

Testing

  • uvx ruff check ci/tools/validate-release-wheels
  • uvx ruff format --check ci/tools/validate-release-wheels
  • direct smoke test: ./ci/tools/validate-release-wheels v12.6.2.post1 cuda-bindings <tmp-wheel-dir>
  • direct negative smoke test: ./ci/tools/validate-release-wheels v12.6.2 cuda-bindings <tmp-wheel-dir> rejects a 12.6.2.post1 wheel

@copy-pr-bot

copy-pr-bot Bot commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@github-actions github-actions Bot added the CI/CD CI/CD infrastructure label Jun 7, 2026
Comment thread ci/tools/tests/test_validate_release_wheels.py Outdated
@leofang leofang added enhancement Any code-related improvements P2 Low priority - Nice to have labels Jun 8, 2026
@leofang leofang added this to the cuda.core v1.1.0 milestone Jun 8, 2026
@fallintoplace fallintoplace force-pushed the fix-post-release-wheel-validation branch from d6e645d to 14302e5 Compare June 8, 2026 18:51

@leofang leofang left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two nits before merge: the argv plumbing on main/parse_args is unused without tests and can be reverted, and the ValueError message should mention the new .postN support so it stops contradicting the behavior. Otherwise the rewrite looks good — also closes a latent unanchored-regex bug where v12.6.2.dev1 would silently validate a 12.6.2 wheel.

def main() -> int:
args = parse_args()
expected_version = version_from_tag(args.git_tag)
def main(argv: list[str] | None = None) -> int:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The argv plumbing here and on parse_args was added for the test file that the prior review asked to drop. Without tests it's dead API surface — recommend reverting to keep the diff minimal.

Comment on lines 56 to +59
raise ValueError(
"Unsupported git tag format "
f"{tag!r}; expected tags beginning with vX.Y.Z, cuda-core-vX.Y.Z, "
"or cuda-pathfinder-vX.Y.Z."
f"{tag!r} for component {component!r}; expected vX.Y.Z, cuda-core-vX.Y.Z, "
"or cuda-pathfinder-vX.Y.Z with a valid release version."

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This message still says vX.Y.Z only and doesn't reflect the new .postN support, so the error contradicts the behavior. Suggest vX.Y.Z[.postN] (and the same for the prefixed variants), or drop the format examples and reference the canonical tag rules.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI/CD CI/CD infrastructure enhancement Any code-related improvements P2 Low priority - Nice to have

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants