fix(ci): retry MCP Registry publish after npm propagation - #103
Conversation
The v1.4.0 release published to npm and created the tag and GitHub Release, but the MCP Registry step failed: the registry validates the npm package version on its side and still saw a 404 for 1.4.0 one second after publication. - Split the registry publish into its own `publish-registry` job so a failure there no longer marks an otherwise successful release as failed, and so it can be retried in isolation. - Poll npm (20 x 15s) until the version from `server.json` resolves before invoking `mcp-publisher`, and retry the publish 3 times. - Add a `workflow_dispatch` trigger that skips `release` and runs only `publish-registry`, to catch up a release whose registry step failed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LtcEiD1EjM1cEseCaqLaiL
|
|
Warning Review limit reachedNext included review available in 10 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Problem
The Release run #33864393350 for
v1.4.0failed:Everything else in the release succeeded — npm
1.4.0, thev1.4.0tag, the GitHub Release. Only the MCP Registry registration failed, on a race:mcp-publisherran ~1s afterchangeset publish, and the npm registry was not serving the version yet. The MCP Registry is therefore still on1.3.2.Fix
publish-registryjob — a registry failure no longer marks an otherwise successful npm release as failed, and it can be retried in isolation.npm view <pkg>@<version>(20 × 15s) using the version fromserver.jsonbefore invokingmcp-publisher.workflow_dispatchtrigger — skips thereleasejob and runs onlypublish-registry, to catch up a release whose registry step failed.Catching up
1.4.0After merging, manually run the Release workflow on
main(Actions → Release → Run workflow) to register1.4.0with the MCP Registry.🤖 Generated with Claude Code
https://claude.ai/code/session_01LtcEiD1EjM1cEseCaqLaiL