Skip to content

chore: remove MCP registry publishing - #55

Merged
macieju-opera merged 2 commits into
mainfrom
chore/remove-mcp-registry-publish
Aug 24, 2026
Merged

macieju-opera merged 2 commits into
mainfrom
chore/remove-mcp-registry-publish

Conversation

@macieju-opera

@macieju-opera macieju-opera commented Aug 24, 2026 •

Copy link
Copy Markdown
Contributor

The fork publishes to npm only, never to the MCP registry — the registry has no opera-devtools-mcp entry.

publish-to-mcp-registry-on-tag.yml came from upstream and triggers on chrome-devtools-mcp-v* tags, so it has never fired for an Opera release. It also has workflow_dispatch, so it could still be published by hand.

Removed:

  • .github/workflows/publish-to-mcp-registry-on-tag.yml
  • server.json — the registry manifest, its only consumer
  • scripts/verify-server-json-version.ts and the verify-server-json-version npm script
  • the "Verify server.json" step in pre-release.yml
  • the server.json merge=opera-ours row in .gitattributes

A release now bumps package.json and package-lock.json instead of three files.

Intake safety

Deleting server.json is not free: upstream bumps it in every release commit, so it will conflict on each intake that spans an upstream release. Two things make that worse than it looks:

  • merge=opera-ours does not apply to a delete. Git reports CONFLICT (modify/delete) and leaves upstream's copy in the tree, so a reflexive git add -A restores the file.
  • Registering the path in docs/UPSTREAM.md made verify-upstream-seam accept it in any state, deleted or restored — so nothing caught the resurrection.

Second commit closes that: every path in the rename-or-delete table must now be absent from the working tree.

✗ 1 path(s) registered as renamed or deleted exist in the working tree:
    server.json
  An intake merge probably restored them: the merge driver does not apply to a
  delete, so git leaves upstream's copy in the tree. Fix: git rm <path>

Verified by restoring server.json and a renamed e2e test in turn — the check fails on each and passes on a clean tree. All nine paths already in that table satisfy it.

npm run gen produces no drift; format, typecheck and verify-upstream-seam pass locally.

The fork publishes to npm only. Upstream's registry workflow triggered on
`chrome-devtools-mcp-v*` tags, so it never fired for an Opera release, but
`workflow_dispatch` left it manually publishable.

Deletes the workflow along with `server.json` and the
`verify-server-json-version` script that existed only to feed it. A release
now bumps `package.json` and `package-lock.json`.
The merge driver does not apply to a delete. Git reports a modify/delete
conflict and leaves upstream's copy in the tree, so `git add -A` during an
intake silently restores the file, and registering the path made the seam
check accept it in any state.

Every path in the rename-or-delete table must now be absent from the working
tree. `server.json` makes this worth enforcing: upstream bumps it in every
release commit, so it conflicts on each intake that spans a release.
@macieju-opera
macieju-opera merged commit 8dd9c6a into main Aug 24, 2026
25 of 27 checks passed
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.

2 participants