Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR hardens the GitHub Actions release/CI pipeline to reduce versioning errors and race conditions during publishing, and standardizes PR template usage within the repository’s .github/ structure.
Changes:
- Adds workflow
concurrencycontrols across CI workflows and serializes the main release workflow to prevent overlapping runs. - Refactors
release.ymlto validate tags more explicitly, run a wheel smoke test, publish to PyPI before creating the GitHub Release, and ensure full git history is available for version derivation. - Moves the PR template to
.github/PULL_REQUEST_TEMPLATE/and updates Copilot instructions accordingly; updatesCHANGELOG.mdwith the release notes.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| CHANGELOG.md | Documents the pipeline/versioning hardening in a new 1.3.4 entry. |
| .github/workflows/commit.yml | Cancels superseded commit checks per branch via concurrency. |
| .github/workflows/qa.yml | Cancels superseded QA runs per branch via concurrency. |
| .github/workflows/security.yml | Cancels superseded security runs for the same PR ref via concurrency. |
| .github/workflows/verify.yml | Cancels superseded verify runs for the same PR ref via concurrency. |
| .github/workflows/release.yml | Serializes releases; improves tag checks; ensures full history; adds dynamic-versioning activation + wheel smoke test; creates GitHub Release only after PyPI publish. |
| .github/pull_request_template.md | Removes the legacy single-template location. |
| .github/PULL_REQUEST_TEMPLATE/pull_request_template.md | Adds the standardized PR template under the directory-based location. |
| .github/copilot-instructions.md | Updates template path reference and adds PR response-format requirements. |
Comments suppressed due to low confidence (1)
.github/workflows/release.yml:35
- The comment on this permissions block is now inaccurate: this job only creates/pushes the git tag (GitHub Release creation was moved to a separate job). Updating the comment will help keep least-privilege intent clear when revisiting workflow permissions.
permissions:
# Needed for creating tags and GitHub releases.
contents: write
9b9edc9 to
5ff7774
Compare
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.
Summary
Hardens and completes the release/CI pipeline reliability:
refs/tags/<version>explicitly.pip install dist/*.whl+vstack --help) before artifact upload..github/PULL_REQUEST_TEMPLATE/.Why
PyPI publishing and release automation needed stronger safety guarantees after versioning issues (
0.0.0artifacts) and potential race conditions.This change ensures deterministic release behavior, reduces CI noise/cost from duplicate runs, and improves process consistency.
Version impact