Skip to content

fix(ci): retry MCP Registry publish after npm propagation - #103

Merged
mathieumaf merged 1 commit into
mainfrom
fix/release-mcp-registry-race
Sep 4, 2026
Merged

fix(ci): retry MCP Registry publish after npm propagation#103
mathieumaf merged 1 commit into
mainfrom
fix/release-mcp-registry-race

Conversation

@mathieumaf

@mathieumaf mathieumaf commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Problem

The Release run #33864393350 for v1.4.0 failed:

Error: publish failed: server returned status 400:
registry validation failed for package 0 (@digilac/simap-mcp):
NPM package '@digilac/simap-mcp' exists, but version '1.4.0' was not found (status: 404).

Everything else in the release succeeded — npm 1.4.0, the v1.4.0 tag, the GitHub Release. Only the MCP Registry registration failed, on a race: mcp-publisher ran ~1s after changeset publish, and the npm registry was not serving the version yet. The MCP Registry is therefore still on 1.3.2.

Fix

  • Separate publish-registry job — a registry failure no longer marks an otherwise successful npm release as failed, and it can be retried in isolation.
  • Wait for npm propagation — poll npm view <pkg>@<version> (20 × 15s) using the version from server.json before invoking mcp-publisher.
  • Retry the publish — 3 attempts, since the registry re-validates on its own side and can still see a stale 404.
  • workflow_dispatch trigger — skips the release job and runs only publish-registry, to catch up a release whose registry step failed.

Catching up 1.4.0

After merging, manually run the Release workflow on main (Actions → Release → Run workflow) to register 1.4.0 with the MCP Registry.

🤖 Generated with Claude Code

https://claude.ai/code/session_01LtcEiD1EjM1cEseCaqLaiL

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
@changeset-bot

changeset-bot Bot commented Sep 4, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 8c9341d

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai

coderabbitai Bot commented Sep 4, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 10 minutes.

Check out review usage here.

View limit details

Limit 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.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Team

Run ID: 47622457-4a5e-4c0b-a2fe-cc6eb05f9c9e

📥 Commits

Reviewing files that changed from the base of the PR and between 7b4a6dd and 8c9341d.

📒 Files selected for processing (1)
  • .github/workflows/release.yml

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@mathieumaf
mathieumaf merged commit 8361806 into main Sep 4, 2026
6 checks passed
@mathieumaf
mathieumaf deleted the fix/release-mcp-registry-race branch September 4, 2026 10:58
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