Skip to content

feat(ci): add workflow_dispatch Release workflow - #2

Merged
mbloechli merged 1 commit into
mainfrom
ci/release-workflow
Jul 4, 2026
Merged

feat(ci): add workflow_dispatch Release workflow#2
mbloechli merged 1 commit into
mainfrom
ci/release-workflow

Conversation

@mbloechli

Copy link
Copy Markdown
Contributor

Summary

  • Replaces the manual git tag/force-move dance (documented in CLAUDE.md) with a workflow_dispatch Release workflow.
  • Dispatch input picks patch/minor/major; the workflow computes the next version from the latest vX.Y.Z tag, creates it, force-moves the corresponding major tag (vX) to the same commit (as a lightweight tag directly on the commit — never a tag-of-a-tag, which previously broke GitHub's reusable-workflow resolution), and publishes a GitHub Release with --generate-notes.
  • README's Versioning section now points at this workflow.

Test plan

  • python3 -c "import yaml; yaml.safe_load(open('.github/workflows/release.yml'))" — syntax OK
  • After merge, dispatch with bump: minor from main to cut v1.2.0 (folding in PR feat(ci): auto-detect and install root requirements.txt via pip #1's requirements.txt feature)
  • Confirm git rev-parse v1 and git rev-parse v1.2.0 resolve to the same commit
  • Confirm gh release view v1.2.0 shows generated notes
  • Confirm a @v1-pinned consumer (e.g. duatic_helpers) still resolves and runs

Cutting a release was a manual git tag dance: create vX.Y.Z, force-move
the lightweight major tag (vN) to the same commit, push both. Automate
it so the major tag is always recreated correctly (a lightweight tag
on a commit, never a tag-of-a-tag, which previously broke GitHub's
reusable-workflow resolution). Dispatch input picks the bump
(patch/minor/major); the workflow computes the next version from the
latest tag and also publishes a GitHub Release with generated notes.
@mbloechli mbloechli self-assigned this Jul 4, 2026
@mbloechli
mbloechli merged commit ab01bcb into main Jul 4, 2026
@mbloechli
mbloechli deleted the ci/release-workflow branch July 14, 2026 11:21
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