Skip to content

Make the release tag reachable when it is missing - #15

Merged
pathscale merged 1 commit into
masterfrom
fix/release-tagging
Jul 29, 2026
Merged

Make the release tag reachable when it is missing#15
pathscale merged 1 commit into
masterfrom
fix/release-tagging

Conversation

@pathscale

Copy link
Copy Markdown
Owner

What happened

The 0.2.1 publish succeeded and the run is still marked failed, because the tag step died:

*** Please tell me who you are.
fatal: unable to auto-detect email address (got 'runner@vm50zmfd.(none)')

An annotated tag records a tagger, and a bare runner has no git identity. One-line fix.

The part worth fixing properly

The failure was unrepairable by the workflow's own recovery path. Tagging was gated on needed == 'true', and needed comes from asking the registry whether the version is already there. After a successful publish that answer is yes, so re-running skips every remaining step — including the tag. workflow_dispatch exists specifically to re-run after a failure, and it could not fix the only step that had failed.

Tagging now runs whenever the tag is absent and exits quietly when it is present. A re-run repairs a missing tag rather than confirming there is nothing to do. It stays ordered after the publish, so a tag never points at a version that failed to go out.

Verification

Re-running the workflow on master after this merges should create v0.2.1 and leave everything else skipped, which exercises exactly the path that was broken.

The 0.2.1 publish succeeded and the tag step died with "unable to
auto-detect email address": an annotated tag records a tagger and a bare
runner has no git identity. Fixed by configuring the identity GitHub uses
for its own bot.

The larger problem is that the failure was unrepairable. Tagging was gated
on `needed == 'true'`, and `needed` comes from asking the registry whether
the version is already published. After a successful publish the answer is
yes, so re-running skipped every remaining step including the tag. The one
recovery path the workflow offers could not fix the one step that had
failed.

So tagging no longer depends on this run having published. It runs whenever
the tag is absent and exits quietly when it is present, which makes a
re-run repair a missing tag instead of confirming there is nothing to do.
It stays ordered after the publish, so a tag never points at a version that
failed to go out.
@pathscale
pathscale merged commit e2203b9 into master Jul 29, 2026
2 checks passed
@pathscale
pathscale deleted the fix/release-tagging branch July 29, 2026 12:03
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