ci(release-please): switch to workflow_dispatch-only trigger#102
Conversation
Drop `push: branches: [dev]` from release-please.yml so the release PR is only opened when the maintainer manually runs the workflow. Previously every conventional `feat:`/`fix:`/`perf:` merge into `dev` left a stale release PR open in the queue; the actions cost was small but the PR-list noise was not. Same machinery, just on demand: release-please still walks `dev` since the last tag and opens the version-bump PR; merging it still tags `vX.Y.Z` and fires release.yml. Updates CLAUDE.md, CONTRIBUTING.md, and copilot-instructions.md so the docs match. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Link checkLychee scanned the whole repo's markdown surface and found broken links. Reported here for visibility — does not block merge. Summary
Errors per inputErrors in ./README.md
Run 25347396681 on |
There was a problem hiding this comment.
Pull request overview
This PR switches the release-please workflow from automatic (push-to-dev) execution to a maintainer-invoked, workflow_dispatch-only flow, and updates project documentation to match the new release process.
Changes:
- Remove the
push: branches: [dev]trigger from.github/workflows/release-please.yml, leavingworkflow_dispatchonly. - Update release documentation in
CONTRIBUTING.mdandCLAUDE.mdto describe the manual “Run workflow” release-please flow. - Update
.github/copilot-instructions.mdto reflect the manual-trigger release process.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| CONTRIBUTING.md | Documents the maintainer-triggered release-please workflow and rerun behavior. |
| CLAUDE.md | Updates versioning/release notes to match manual release-please invocation. |
| .github/workflows/release-please.yml | Removes push trigger and documents the new manual-dispatch behavior. |
| .github/copilot-instructions.md | Updates the release pipeline summary to reflect workflow_dispatch-only triggering. |
| on: | ||
| push: | ||
| branches: [dev] | ||
| workflow_dispatch: | ||
|
|
There was a problem hiding this comment.
Good catch — fixed in 9747584. Pinned the concurrency group to release-please-dev (since target-branch: dev is hardcoded, the dispatch ref is irrelevant for what the action does), and added if: github.ref_name == 'dev' so a stray dispatch from another ref no-ops cleanly.
| - CI triggers on pushes to `dev` and PRs targeting `dev`. | ||
| - MSRV: Rust 1.88 (enforced by a dedicated CI `msrv` job). | ||
| - Releases: `release-please.yml` opens version-bump PRs on `dev`; merging one tags `vX.Y.Z`, which fires `release.yml` to build Tauri installers and upload them + `SHA256SUMS.txt` to a draft GitHub Release. | ||
| - Releases: `release-please.yml` is `workflow_dispatch`-only; maintainer manually runs it to open a version-bump PR on `dev`. Merging that PR tags `vX.Y.Z`, which fires `release.yml` to build Tauri installers and upload them + `SHA256SUMS.txt` to a draft GitHub Release. |
There was a problem hiding this comment.
custom-instructions/repo/.github/copilot-instructions.md does not exist in this repo (git ls-files custom-instructions returns nothing) — same hallucinated path that came up on PR #98. The only copilot-instructions file is .github/copilot-instructions.md and it's already updated in this PR.
Two safety improvements now that release-please is workflow_dispatch-only: - Pin `concurrency.group` to `release-please-dev` instead of keying on `github.ref`. The action targets `dev` regardless of which ref the dispatch fires from (`target-branch: dev` is hardcoded), so two simultaneous dispatches from different refs would otherwise have different group keys and race. - Add `if: github.ref_name == 'dev'` so dispatching from any other ref no-ops cleanly instead of running a possibly-stale workflow copy against `dev`'s history. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Link checkLychee scanned the whole repo's markdown surface and found broken links. Reported here for visibility — does not block merge. Summary
Errors per inputErrors in ./README.md
Run 25347570393 on |
Summary
push: branches: [dev]from.github/workflows/release-please.yml; the workflow is nowworkflow_dispatch-only.CLAUDE.md,CONTRIBUTING.md, and.github/copilot-instructions.mdto document the manual-trigger flow.Why
Previously every
feat:/fix:/perf:merge intodevopened (or refreshed) a release PR that sat in the queue until I was ready to cut a release — most of the time that was days of stale-looking PRs with no associated release intent. The actions/storage cost of the release-please job itself is negligible (~30s Ubuntu, no installer build), but the PR-list noise was real. New flow: when ready to release, hit Actions → Release Please → Run workflow. Same machinery, just on demand.Trade-off
Easy to forget that unreleased fixes are sitting on
dev. Mitigated by the fact that I'm the only release maintainer and can just look atgit log v$(latest)..devwhenever I want to know.Test plan
check yamlpassed)feat:/fix:merges intodevno longer open release PRs🤖 Generated with Claude Code