ci: create GitHub Release directly in publish-tag job #187

Merged
KofTwentyTwo merged 2 commits from ci/inline-release-create into develop 2026-05-13 23:28:08 +00:00
2 Commits
Author SHA1 Message Date
james.maes 204d57a1ac Merge remote-tracking branch 'origin/develop' into ci/inline-release-create 2026-05-13 18:01:07 -05:00
james.maes 41c99ce3b9 ci(actions): create GitHub Release directly in publish-tag job
The default GITHUB_TOKEN cannot trigger downstream workflows (GitHub
prevents the chain to avoid infinite loops). publish-tag's `git push
origin "$TAG"` therefore never fires release.yml's `push: tags:`
listener — observed on v0.1.0-dev.50, where the tag landed but the
Release object was missing until manually created.

Fold the Release creation into the publish-tag job using `gh release
create` with GH_TOKEN=secrets.GITHUB_TOKEN. Direct API calls work fine
with the default token; only the push→workflow chain is blocked.

- Idempotent: skips if release already exists.
- Notes: auto-generated from `git log $prev..$TAG` plus a Verification
  block linking back to the CI run.
- Prerelease flag respects steps.version.outputs.prerelease (true for
  dev/rc tags, false for vX.Y.Z final tags on main).

release.yml stays untouched as a fallback for manually-pushed tags
(humans pushing tags directly CAN trigger workflows).

Closes #186
2026-05-13 16:45:13 -05:00