Skip to content

Guard Canonical PyPI Artifact Naming - #849

Merged
ptr727 merged 2 commits into
developfrom
fix/issue-845-pypi-artifact
Aug 19, 2026
Merged

Guard Canonical PyPI Artifact Naming#849
ptr727 merged 2 commits into
developfrom
fix/issue-845-pypi-artifact

Conversation

@ptr727

Copy link
Copy Markdown
Owner

Summary

  • require the canonical pypi-build- artifact stem in both carried contracts
  • require the same stem in the default uploader and documented publisher consumer
  • reject the legacy pypilibrary-build- stem anywhere in tracked content

Root Cause

The artifact rename in #821 aligned the existing contracts and implementations, but no automated check bound those surfaces together. A later edit could therefore recreate the contradiction reported by #845.

Impact

Contract drift between the hub and downstream PyPI workflows fails in the unit-test gate before it can be carried into another repository.

Verification

  • python3 -m unittest scripts.tests.test_release_guards
  • python3 -m unittest discover -s scripts/tests (730 tests)
  • uvx ruff@latest check scripts/tests/test_release_guards.py
  • uvx ruff@latest format --check scripts/tests/test_release_guards.py
  • git diff --check

Closes#845

CopilotAI lite review requested due to automatic review settings August 19, 2026 18:28

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds a regression test to prevent drift in the canonical PyPI build artifact stem (pypi-build-) across the repository’s workflow contracts and default publishing surfaces, and to ensure the legacy pypilibrary-build- stem does not reappear in tracked content.

Changes:

  • Add a unit test that asserts key contracts/docs/action content contains pypi-build-.
  • Add a repository-wide git grep check in the test suite that fails if pypilibrary-build- appears in tracked files.

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment threadscripts/tests/test_release_guards.py
CopilotAI review requested due to automatic review settings August 19, 2026 18:32

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

@ptr727
ptr727 marked this pull request as ready for review August 19, 2026 18:59
@ptr727
ptr727 merged commit 87c3960 into developAug 19, 2026
8 checks passed
@ptr727ptr727 mentioned this pull request Aug 19, 2026
ptr727 added a commit that referenced this pull request Aug 19, 2026
## Summary
- Promote fail-closed release validation and audit path discovery.
- Promote explicit Bash labels for executable audit commands.
- Promote the canonical PyPI artifact-name regression guard.
- Promote the executable Python entry point for the release-guard test.
- Promote the internally consistent missing-job audit fixture.
## Source
- #844 (`a08713a`)
- #847 (`af2c8ff`)
- #848 (`1cd5b84`)
- #849 (`87c3960`)
- #850 (`9b6c01f`)
- #851 (`bb4d603`)
## Validation
- 730 Python tests
- audit self-tests and spec validation
- ruff, mypy, and coverage
- actionlint, markdownlint, EditorConfig, CSpell, ShellCheck, and
PSScriptAnalyzer
- Copilot full-diff review on each feature pull request
Closes#842Closes#843Closes#845
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@ptr727