ci: set git identity in its own step so tag-once can create the annotated tag #19

Merged
psk merged 1 commit from ci/release-pr-tag-identity into master 2026-06-29 23:35:55 +00:00
Owner

What

Fix the one bug in the new release-pr.yml: the tag-once step (git tag -a, annotated) needs a committer identity, but the identity was set inside the engine step on only the "open a Release PR" path. The no-op path (the Release-PR merge push, next == current) exits before it — so when the v0.3.2 Release PR merged, tag-once failed (empty ident name, exit 128) and the tag was never pushed.

Move the identity to a dedicated step right after checkout, so it's present on every path for both the release-pr commit and the tag-once tag.

Status of v0.3.2

The engine worked — it auto-opened the v0.3.2 Release PR (#18) correctly. Only tag-once failed. v0.3.2 was tagged manually via local tooling to unblock the release, so release.yml is publishing it now. This PR makes the automatic tag-on-merge work for every future release with zero manual steps.

Safe to merge

Committed as ci:cliff.toml skips it, so merging opens no new Release PR, and tag-once no-ops (v0.3.2 already tagged). Clean.

## What Fix the one bug in the new `release-pr.yml`: the **tag-once** step (`git tag -a`, annotated) needs a committer identity, but the identity was set *inside the engine step* on only the "open a Release PR" path. The **no-op path** (the Release-PR merge push, `next == current`) exits before it — so when the **v0.3.2 Release PR merged, tag-once failed** (`empty ident name`, exit 128) and the tag was never pushed. Move the identity to a **dedicated step right after checkout**, so it's present on every path for both the release-pr commit and the tag-once tag. ## Status of v0.3.2 The engine worked — it auto-opened the v0.3.2 Release PR (#18) correctly. Only tag-once failed. **v0.3.2 was tagged manually via local tooling** to unblock the release, so `release.yml` is publishing it now. This PR makes the automatic tag-on-merge work for **every future release** with zero manual steps. ## Safe to merge Committed as `ci:` → `cliff.toml` skips it, so merging opens **no** new Release PR, and tag-once no-ops (v0.3.2 already tagged). Clean.
ci: set git identity in its own step so tag-once can create the annotated tag
Some checks failed
ci / build-and-test (pull_request) Has been cancelled
7598977848
release-pr.yml's tag-once step runs `git tag -a` (annotated), which needs a
committer identity. That identity was set inside the engine step — but only on
the "open a Release PR" path. The no-op path (the Release-PR merge push, where
next==current) exits before it, so when the v0.3.2 Release PR merged, tag-once
failed with "empty ident name" (exit 128) and the tag was never pushed.

Move the identity to a dedicated step right after checkout so it's present for
both the release-pr commit and the tag-once `git tag -a`, on every path.

(v0.3.2 itself was tagged manually via local tooling to unblock that release.)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
psk force-pushed ci/release-pr-tag-identity from 7598977848
Some checks failed
ci / build-and-test (pull_request) Has been cancelled
to db830b1d45
All checks were successful
ci / build-and-test (pull_request) Successful in 9m2s
2026-06-29 22:58:59 +00:00
Compare
psk merged commit dc44e2c3a6 into master 2026-06-29 23:35:55 +00:00
psk deleted branch ci/release-pr-tag-identity 2026-06-29 23:35:55 +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!19
No description provided.