Skip to content

One-click release tagging from the Actions tab#4

Merged
veteranbv merged 1 commit into
mainfrom
ci/one-click-release
Jul 15, 2026
Merged

One-click release tagging from the Actions tab#4
veteranbv merged 1 commit into
mainfrom
ci/one-click-release

Conversation

@veteranbv

Copy link
Copy Markdown
Owner

Cutting a release currently means running git commands on a machine with the repo cloned. This adds a Tag Release workflow so it's one click from the Actions tab (works from a phone): enter a vX.Y.Z version, and it validates the format, refuses existing tags, tags main, and hands off to the existing Release pipeline — which still runs tests and the startup benchmark before GoReleaser publishes anything.

One GitHub quirk handled explicitly: tags pushed with the default GITHUB_TOKEN don't fire push-triggered workflows (recursion prevention), so the tagger dispatches release.yml directly at the new tag, and release.yml gains a workflow_dispatch trigger for that handoff.

Also pins goreleaser-action to ~> v2 instead of latest. Unpinned "latest" is exactly how the lint job silently broke (golangci-lint v2 rejecting the v1 config), and the release pipeline had the same exposure.

README's release-process section documents the new flow. Deliberately not adopting semantic-release/release-please: automatic tagging on every merge would ship straight to fleet login shells, and generated changelogs would replace the hand-written CHANGELOG. The human decides when; the machinery does everything else.


Generated by Claude Code

New Tag Release workflow: run it from the Actions tab with a vX.Y.Z
version and it validates the format, tags main, and starts the existing
Release workflow. Tags pushed with the default GITHUB_TOKEN do not fire
push-triggered workflows, so the release is dispatched explicitly and
release.yml gains a workflow_dispatch trigger for that handoff.

Also pins goreleaser-action to '~> v2' instead of latest — unpinned
"latest" is how the lint job silently broke, and the release pipeline
had the same exposure.
@veteranbv
veteranbv merged commit 6b41e82 into main Jul 15, 2026
4 checks passed
@veteranbv
veteranbv deleted the ci/one-click-release branch July 15, 2026 03:05
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.

1 participant