From 731807f982ffe3616e2c9de7db7d2b3164faf5ac Mon Sep 17 00:00:00 2001 From: Cuihtlauac ALVARADO Date: Fri, 19 Jun 2026 20:18:36 +0200 Subject: [PATCH] chore(ci): add daily watch for MCP Registry cargo support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The deployed MCP Registry does not yet accept `registryType: cargo` (support is in upstream main since 2026-06-03 but unreleased), so publish.yml's registry step fails with HTTP 400. This temporary scheduled workflow goes red daily while that holds and turns green once any cargo-type server appears in the registry's public API — no auth required. When it turns green: run publish.yml to register io.github.tarides/sudo-proxy, then delete this workflow. Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/registry-watch.yml | 36 ++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 .github/workflows/registry-watch.yml diff --git a/.github/workflows/registry-watch.yml b/.github/workflows/registry-watch.yml new file mode 100644 index 0000000..0697dcb --- /dev/null +++ b/.github/workflows/registry-watch.yml @@ -0,0 +1,36 @@ +name: Registry cargo-support watch + +# Temporary tripwire. The MCP Registry has cargo support in `main` (merged +# 2026-06-03) but the deployed instance does not yet accept `registryType: +# cargo`, so publish.yml's final step fails with HTTP 400 "unsupported registry +# type: cargo". This job goes RED daily while that's true and turns GREEN once +# the registry starts accepting cargo (detected by any cargo-type server +# appearing in the public API — no auth needed). +# +# WHEN THIS TURNS GREEN: run publish.yml (`gh workflow run publish.yml --ref +# main`) to register io.github.tarides/sudo-proxy, then delete this workflow. + +on: + schedule: + - cron: "17 6 * * *" # daily, ~06:17 UTC + workflow_dispatch: + +permissions: + contents: read + +jobs: + check: + runs-on: ubuntu-latest + steps: + - name: Does the MCP Registry accept cargo yet? + run: | + UA="sudo-proxy-watch (+https://github.com/tarides/sudo-proxy)" + n=$(curl -fsS -A "$UA" "https://registry.modelcontextprotocol.io/v0/servers?limit=100" \ + | python3 -c "import sys,json; d=json.load(sys.stdin); print(sum(1 for s in d.get('servers',[]) for p in (s.get('packages') or []) if (p.get('registryType') or p.get('registry_type')) == 'cargo'))") + echo "cargo-type servers live in the registry: $n" + if [ "$n" -gt 0 ]; then + echo "::notice::cargo is supported — run publish.yml to register sudo-proxy, then delete registry-watch.yml" + exit 0 # GREEN: ready + fi + echo "cargo not supported by the deployed registry yet" + exit 1 # RED: keep waiting