fix(ci): release-plz tag must be a git push to trigger release.yml #11

Merged
psk merged 1 commit from fix/release-plz-trigger into master 2026-06-28 08:41:13 +00:00
Owner

Fixes the "tagged but no release" problem that hit v0.3.0.

release-plz creates the tag via the Forgejo API, and Forgejo does not fire on: push: tags for API-created refs (or automatic-token refs) — Forgejo loop-prevention, forgejo#7460. A PAT only helps if the tag arrives as a real git push (which is why a manual git push of the tag worked).

  • release-plz.yml: capture the shipped tag via release-plz release -o json, then re-push it as a PAT git push to trigger release.yml. No-op when nothing released.
  • just promote-tag <tag>: manual fallback to re-fire release.yml for an existing tag.
  • CLAUDE.md documents the gotcha.

Verifies on the next release (0.4.0): a merged feat:/fix: PR → Release PR → merge → tag → release auto-builds, no hand re-push. v0.3.0 itself already shipped via a manual re-push.

**Fixes the "tagged but no release" problem** that hit v0.3.0. release-plz creates the tag via the Forgejo **API**, and Forgejo does not fire `on: push: tags` for API-created refs (or automatic-token refs) — [Forgejo loop-prevention](https://forgejo.org/docs/latest/user/actions/reference/), [forgejo#7460](https://codeberg.org/forgejo/forgejo/issues/7460). A PAT only helps if the tag arrives as a real **git push** (which is why a manual `git push` of the tag worked). - `release-plz.yml`: capture the shipped tag via `release-plz release -o json`, then re-push it as a PAT git push to trigger `release.yml`. No-op when nothing released. - `just promote-tag <tag>`: manual fallback to re-fire `release.yml` for an existing tag. - CLAUDE.md documents the gotcha. Verifies on the **next** release (0.4.0): a merged `feat:`/`fix:` PR → Release PR → merge → tag → release auto-builds, no hand re-push. v0.3.0 itself already shipped via a manual re-push.
fix(ci): re-push release-plz tag as a git push so release.yml fires
All checks were successful
ci / build-and-test (pull_request) Successful in 8m39s
c37a5b5a7f
release-plz creates the version tag via the Forgejo API, and Forgejo
doesn't trigger `on: push: tags` workflows for refs created via the API
or the automatic token (loop-prevention) — so v0.3.0 landed tagged but
release.yml never ran and no release was built.

Capture the tag from `release-plz release -o json` and re-push it as a
real PAT git push, which DOES trigger workflows. Add `just promote-tag
<tag>` as a manual fallback and document the nuance in CLAUDE.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
psk merged commit 57db1cc7f5 into master 2026-06-28 08:41:13 +00:00
psk deleted branch fix/release-plz-trigger 2026-06-28 08:41:13 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
public/soundy-bits!11
No description provided.