| Did you know ... | Search Documentation: |
| Pack mutalog -- .kb/adr/ADR-release-workflow-dispatch.md |
title: Publish releases from a workflow run on master status: accepted tags:
origin: kind: import ref: readme:README.md#L156 recorded_at: '2026-10-29T16:10:47.345Z' id: ADR-release-workflow-dispatch type: adr --- ## Context
Releases were published by pushing a vX.Y.Z tag (ADR-release-tag-driven-publishing). A tag pushed before its version bump merged could not be reused, which burned v0.1.0 and v0.1.1.
A release bumps pack.pl and adds its CHANGELOG.md section in one pull request; CI fails when the two disagree. After merging, the Release workflow is run on master from the Actions tab. It refuses an already-tagged version, creates the vX.Y.Z tag and GitHub release with the changelog section as notes, and publishes the pack through the lower-case archive URL. Tags are never created by hand.
The workflow checks the version before a tag exists, so a mistake costs a failed run instead of a burned version number.
Releasing is one button press after the bump merges, and every release has notes.