Skip to content

feat(publish): allow manual workflow_dispatch for MCP Registry publish#1586

Merged
yury-s merged 1 commit intomicrosoft:mainfrom
yury-s:mcp-registry-dispatch
May 1, 2026
Merged

feat(publish): allow manual workflow_dispatch for MCP Registry publish#1586
yury-s merged 1 commit intomicrosoft:mainfrom
yury-s:mcp-registry-dispatch

Conversation

@yury-s
Copy link
Copy Markdown
Member

@yury-s yury-s commented May 1, 2026

Summary

Mechanics

The job still needs: publish-mcp-release-npm so on a real release event it correctly waits for npm to publish first. On workflow_dispatch, the npm job is skipped (its own if is release-only), and if: always() && needs.*.result != 'failure'/'cancelled' lets the registry job run anyway.

Follow-up

Once merged, this enables a manual one-shot of v0.0.72 to the registry via the Actions tab.

Follow-up to #1585.
Reference #1477

- Expand the gate on publish-mcp-release-registry so the job also runs
  on workflow_dispatch (with publish-mcp-release-npm skipped). This
  lets us retroactively publish a previously-released version to the
  registry from the Actions tab without re-running npm publish.
- Bump server.json from 0.0.71 to 0.0.72 to match the current
  package.json. Fixes the validation gap that would have failed the
  next release.
@yury-s yury-s merged commit f41a129 into microsoft:main May 1, 2026
6 checks passed
yury-s added a commit that referenced this pull request May 1, 2026
## Summary
The first dispatch run after #1586 ([failed
run](https://github.com/microsoft/playwright-mcp/actions/runs/25195774292/job/73875880165))
hit:
> registry validation failed for package 1 (public/playwright/mcp): OCI
packages must not have 'registryBaseUrl' field - use canonical reference
in 'identifier' instead

The schema permits `registryBaseUrl`, but the registry's runtime
validator rejects it for OCI. The npm entry validated cleanly.

## Fix
Drop the OCI package entry from `server.json`. The npm listing alone
resolves #1477 (VS Code + Copilot in `registryOnly` mode installs via
npx). Docker users still pull directly from `playwright.azurecr.io` —
that channel doesn't need the registry to be discoverable.

## Why not reformat the OCI identifier
The canonical-reference form (`registry/repo:tag`) bakes the version
into the string, which means each release has to bump both `version` and
the tag inside `identifier`. The version-validation step in CI would
also need OCI-specific logic. Manageable but extra plumbing for a
channel we don't need to list. Can be added back in a focused PR if it's
ever needed.

## Verifying
After merge, manually fire the `Publish` workflow against `main` from
the Actions tab to publish v0.0.72 retroactively.
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