v0.1.0-dev.50 landed as a tag but the Releases page stayed empty because GitHub's GITHUB_TOKEN cannot trigger downstream workflows. The release.yml listener for push: tags: never sees CI-pushed tags.
Fix: add a Create GitHub Release step to the existing publish-tag job so the Release object is created in the same job, no cross-workflow trigger needed. Direct API calls via gh release create work with the default token; only the push→workflow chain is blocked.
Behavior
Auto-runs after Create + push tag on every develop / main / rc/* / release/* push that produces a green matrix.
Idempotent — skips if the Release already exists (handles reruns).
Notes auto-generated: git log $prev..$TAG for the changelog, plus a Verification block linking back to the CI run.
Prerelease flag mirrors steps.version.outputs.prerelease.
release.yml left intact as fallback for manually-pushed tags.
## Summary
`v0.1.0-dev.50` landed as a tag but the Releases page stayed empty because GitHub's `GITHUB_TOKEN` cannot trigger downstream workflows. The `release.yml` listener for `push: tags:` never sees CI-pushed tags.
Fix: add a `Create GitHub Release` step to the existing `publish-tag` job so the Release object is created in the same job, no cross-workflow trigger needed. Direct API calls via `gh release create` work with the default token; only the push→workflow chain is blocked.
## Behavior
- Auto-runs after `Create + push tag` on every develop / main / rc/* / release/* push that produces a green matrix.
- Idempotent — skips if the Release already exists (handles reruns).
- Notes auto-generated: `git log $prev..$TAG` for the changelog, plus a Verification block linking back to the CI run.
- Prerelease flag mirrors `steps.version.outputs.prerelease`.
- `release.yml` left intact as fallback for manually-pushed tags.
## Test plan
- [ ] Merge to develop, watch the resulting CI run.
- [ ] Confirm `v0.1.0-dev.<N>` tag AND a Release object appear on https://github.com/KofTwentyTwo/Jarvis/releases.
- [ ] Idempotency: if the workflow re-runs, the Release-create step exits 0 with "already exists".
Closes #186
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
v0.1.0-dev.50landed as a tag but the Releases page stayed empty because GitHub'sGITHUB_TOKENcannot trigger downstream workflows. Therelease.ymllistener forpush: tags:never sees CI-pushed tags.Fix: add a
Create GitHub Releasestep to the existingpublish-tagjob so the Release object is created in the same job, no cross-workflow trigger needed. Direct API calls viagh release creatework with the default token; only the push→workflow chain is blocked.Behavior
Create + push tagon every develop / main / rc/* / release/* push that produces a green matrix.git log $prev..$TAGfor the changelog, plus a Verification block linking back to the CI run.steps.version.outputs.prerelease.release.ymlleft intact as fallback for manually-pushed tags.Test plan
v0.1.0-dev.<N>tag AND a Release object appear on https://github.com/KofTwentyTwo/Jarvis/releases.Closes #186
🤖 Generated with Claude Code