Skip to content

ci(release-please): switch to workflow_dispatch-only trigger#102

Merged
bminier merged 2 commits into
devfrom
chore/release-please-manual-only
May 4, 2026
Merged

ci(release-please): switch to workflow_dispatch-only trigger#102
bminier merged 2 commits into
devfrom
chore/release-please-manual-only

Conversation

@bminier

@bminier bminier commented May 4, 2026

Copy link
Copy Markdown
Owner

Summary

  • Drops push: branches: [dev] from .github/workflows/release-please.yml; the workflow is now workflow_dispatch-only.
  • Updates CLAUDE.md, CONTRIBUTING.md, and .github/copilot-instructions.md to document the manual-trigger flow.

Why

Previously every feat: / fix: / perf: merge into dev opened (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 at git log v$(latest)..dev whenever I want to know.

Test plan

  • YAML parses (commit hook check yaml passed)
  • Documentation kept consistent: CLAUDE.md, CONTRIBUTING.md, copilot-instructions.md all describe the manual trigger
  • After merge, confirm subsequent feat:/fix: merges into dev no longer open release PRs
  • Manually run the workflow from the Actions UI and confirm a release PR still opens correctly

🤖 Generated with Claude Code

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>
Copilot AI review requested due to automatic review settings May 4, 2026 22:38
@github-actions

github-actions Bot commented May 4, 2026

Copy link
Copy Markdown
Contributor

Link check

Lychee scanned the whole repo's markdown surface and found broken links. Reported here for visibility — does not block merge.

Summary

Status Count
🔍 Total 25
✅ Successful 24
⏳ Timeouts 0
🔀 Redirected 0
👻 Excluded 0
❓ Unknown 0
🚫 Errors 1
⛔ Unsupported 0

Errors per input

Errors in ./README.md

Full Github Actions output

Run 25347396681 on 3626f3c3949233031b9f80c6360b9cc68dac131c.

Copilot AI 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

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, leaving workflow_dispatch only.
  • Update release documentation in CONTRIBUTING.md and CLAUDE.md to describe the manual “Run workflow” release-please flow.
  • Update .github/copilot-instructions.md to 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.

Comment on lines 18 to 20
on:
push:
branches: [dev]
workflow_dispatch:

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

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.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

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>
@github-actions

github-actions Bot commented May 4, 2026

Copy link
Copy Markdown
Contributor

Link check

Lychee scanned the whole repo's markdown surface and found broken links. Reported here for visibility — does not block merge.

Summary

Status Count
🔍 Total 25
✅ Successful 24
⏳ Timeouts 0
🔀 Redirected 0
👻 Excluded 0
❓ Unknown 0
🚫 Errors 1
⛔ Unsupported 0

Errors per input

Errors in ./README.md

Full Github Actions output

Run 25347570393 on c2a1ead9a50c856894c4605bdd4de448509ddcbe.

@bminier bminier merged commit 1f50fe8 into dev May 4, 2026
12 checks passed
@bminier bminier deleted the chore/release-please-manual-only branch May 4, 2026 22:44
Sign up for free to 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