You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added a commit-message guard to the release-please job so it does not run when a release PR merge commit is pushed to main.
Why
release-please generates merge commits with the message chore: release <version>. Without a guard, every such merge immediately triggers release-please again, causing it to open a new release PR right after the previous one was merged.
Not applicable — workflow YAML change only; no Python code modified.
Documentation
Documentation was updated where needed.
No documentation update was needed.
Scope
This pull request is focused on one feature or fix.
Tests were added or updated for functional changes.
Assumptions, risks, or follow-up work are described below.
Risks or follow-up
The guard matches on prefix chore: release, which aligns with the commit message format release-please produces. If the release-please commit message format ever changes, this guard would need updating.
@copilot also see the workflow runs, e.g release workflow for release main (#64) which fails while building the docs etc
CopilotAI
changed the title
[WIP] Fix release please job trigger for specific commit messages
fix: skip release-please job on chore release merge commits
Aug 2, 2026
@copilot also see the workflow runs, e.g release workflow for release main (#64) which fails while building the docs etc
I investigated run #28 (chore: release main (#64)) in detail. There were two distinct failures:
Spurious new PR opened after releasing – After creating the draft releases for PR chore: release main #64, release-please immediately ran its PR-creation phase. Because GitHub does not materialise git tags for draft releases, the tag core-v0.5.0 wasn't yet findable, so release-please treated all historical commits as unreleased and opened PR chore: release main #67.
build-documentation / build-release-evidence checkout failure – Both jobs tried actions/checkout ref: core-v0.5.0, but (again) GitHub only creates the git tag when a draft release is published – gh release edit --draft=false happens at the end of build-release-evidence, too late for the initial checkout.
Fixed in commit fix: skip PR phase on release commits and use SHA for checkout:
skip-github-pull-request is now set to true whenever the push commit message starts with chore: release. Release-please still runs its release-creation phase (so draft releases and their eventual tags are created), but skips the PR-creation phase that was opening spurious follow-up PRs.
core_sha (the packages/core--sha output from release-please) is now exposed as a job output and used for both build-release-evidence and build-documentation checkouts. The commit SHA is always resolvable immediately; the git tag is only needed for uploading artifacts to the release, which happens after checkout.
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
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
Added a commit-message guard to the
release-pleasejob so it does not run when a release PR merge commit is pushed tomain.Why
release-please generates merge commits with the message
chore: release <version>. Without a guard, every such merge immediately triggers release-please again, causing it to open a new release PR right after the previous one was merged.Before:
After:
Validation
python -m ruff check .python -m ruff format --check .python -m pytestpython -m build --sdist --wheelDocumentation
Scope
Risks or follow-up
The guard matches on prefix
chore: release, which aligns with the commit message format release-please produces. If the release-please commit message format ever changes, this guard would need updating.