Skip to content

ci: unify release flow into single workflow - #7

Merged
abosnjakovic merged 1 commit into
mainfrom
ci/unified-release
May 11, 2026
Merged

ci: unify release flow into single workflow#7
abosnjakovic merged 1 commit into
mainfrom
ci/unified-release

Conversation

@abosnjakovic

Copy link
Copy Markdown
Owner

Summary

  • Collapse release-please.yml, release.yml, and docs.yml into a single release.yml triggered on push to main
  • Chain steps via release-please-action outputs: bump version → tag → regenerate vimdoc → force-move tag onto vimdoc commit → create GH release with changelog excerpt → LuaRocks upload
  • vimdoc is now regenerated only at release time (no more per-push chore(ci): auto-generate vimdoc churn on main)

Why

Release was split across three workflows linked by triggers (push-to-main → tag-push). User-facing it felt like several actions. Now a single workflow run from merging the release-please PR carries the release end-to-end.

Notes

  • Tag force-move is safe: nothing consumes vX.Y.Z in the seconds between release-please creating it and the vimdoc follow-up commit
  • GITHUB_TOKEN-authored pushes do not retrigger workflows, so the vimdoc commit will not loop
  • The pending chore(main): release 1.0.1 PR was opened under the old workflow set; the unified flow takes effect from the next release cycle

Test plan

  • Merge a throwaway feat: commit, confirm only ci + release workflows appear
  • Merge the resulting release-please PR
  • Confirm the single release run: tags vX.Y.Z, commits regenerated vimdoc, force-moves the tag, creates GH release with extracted changelog, publishes to LuaRocks
  • Verify doc/nyan.txt at the tag matches generated output

@abosnjakovic
abosnjakovic merged commit 8355ccc into main May 11, 2026
16 checks passed
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