ci(sdk): drop the move-tag mode — Trusted Publishing cannot move a dist-tag - #38
Conversation
…st-tag Tried it, it does not work, so it goes rather than sitting there looking usable: npm error code E401 npm error 401 Unauthorized - PUT /-/package/@bytesbrains%2fmaktub-sdk/dist-tags/latest (run 30399767653). Trusted Publishing authorises `npm publish` and nothing else. A standalone `npm dist-tag add` is a separate registry write the OIDC exchange does not cover, so it can only be done locally by a maintainer with 2FA — which is how `latest` was finally moved to 0.1.0-dev.4. The mode was never needed for the steady state anyway. `npm publish` sets the dist-tag as part of publishing, so `latest` moves forward on its own with every release. The only reason it came up was a one-off cleanup: `latest` was stuck on 0.1.0-dev.2 because the old pre-release guard had refused to point it anywhere newer. That guard is gone and the tag is corrected, so the situation cannot recur. Removes the mode/move_tag_version inputs, the three move-tag steps, and the mode conditions on the publish path, returning the workflow to a single job with one purpose. The header now records why there is no such mode, with the error signature, so this does not get re-attempted. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
ⓘ Qodo reviews are paused because your trial has ended. Ask your workspace admin to add credits to resume reviews. Manage billing |
🤖 wrokin code reviewNo issues found. This is a clean removal of the The diff correctly:
Model: deepseek/deepseek-v4-pro · your key, your model (BYOK) |
🛡️ wrokin security hunterNo vulnerabilities were proven in this pull request — the hunter found nothing it could exploit and prove by execution. Advisory only — this check never blocks your PR. |
🤖 wrokin security auditNo security-relevant findings in this diff. The changes remove a non-functional Model: deepseek/deepseek-v4-pro · your key, your model (BYOK) |
Problem
The
move-tagmode added in #37 does not work. It was shipped explicitly labelled unproven, and the test settled it:(run 30399767653) Trusted Publishing authorises
npm publishand nothing else. A standalonenpm dist-tag addis a separate registry write the OIDC exchange doesn't cover, so it can only be done locally by a maintainer with 2FA — which is howlatestwas ultimately moved to0.1.0-dev.4.Leaving a mode that always fails is worse than not having one. #37 said it should be deleted rather than left as a trap if this happened, so here it is.
Change summary
modeandmove_tag_versioninputs, the three move-tag steps, and theinputs.mode == 'publish'conditions threaded through the publish path. The workflow is back to one job with one purpose: 13 steps, 2 inputs.Worth being clear that the mode was never needed for the steady state.
npm publishsets the dist-tag as part of publishing, solatestmoves forward on its own with every release. The only reason it came up was a one-off cleanup:latestwas stuck on0.1.0-dev.2because the old pre-release guard had refused to point it anywhere newer. That guard is gone (#37) and the tag is corrected, so the situation can't recur.Tests
YAML validated; step routing re-checked — all publish steps are unconditional again except the two
dry_runbranches, and nomode/retagreferences remain.Verified on the registry that the end state this mode was meant to reach is already reached:
Publish behaviour is untouched, so the last green publish (run 30398802432) remains the evidence for that path.
Risk
Very low. Removes a code path that could only ever fail. The remaining path is the one already proven by a successful publish.
Backwards-compat
No consumer impact. Anyone who dispatched with
modewill find the input gone — it never worked, so nothing depended on it.Privacy copy
No user-facing privacy copy.
🤖 Generated with Claude Code