Skip to content

ci(mcp): build nirium-mcp and clean-install check the npm tarball (#144) - #153

Merged
Eras256 merged 1 commit into
nirium-protocol:mainfrom
fernando-mendoza:ci/144-mcp-tarball-check
Oct 21, 2026
Merged

Eras256 merged 1 commit into
nirium-protocol:mainfrom
fernando-mendoza:ci/144-mcp-tarball-check

Conversation

@fernando-mendoza

Copy link
Copy Markdown
Collaborator

Adds CI for packages/mcp (npm: nirium-mcp). Before this the package had no CI, which is how 0.6.1 reached npm without dist/. The new mcp-ci.yml follows the clean-install job in sdk-test.yml: same path-filter shape, Node 22, actions/checkout@v4 / actions/setup-node@v4, and a pack-and-install script like packages/sdk/scripts/clean-install-check.mjs.

How each "Done when" item is met

Local validation (Node 22.23.3, npm 10.9)

  • Replayed the workflow from a clean state (no node_modules, dist, or lockfile): install, build and the check all exit 0.
    • packed nirium-mcp-0.6.3.tgz: 4 files, no *.test.* files
    • ok: nirium-mcp answered initialize as nirium-mcp-server 0.6.3 and exited 0
  • The check, run inside a network namespace with no route out (npm from cache), passes: starting the bin needs no network.
  • Broken-tarball cases, each exiting 1:
  • actionlint 1.7.12 on mcp-ci.yml and sdk-test.yml: no findings.

Closes #144

…rium-protocol#144)

packages/mcp had no CI, which is how 0.6.1 reached npm without dist/.
mcp-ci.yml runs on PRs touching packages/mcp/** and on push to main: it
builds with tsc, packs, installs the tarball into an empty project and
starts the nirium-mcp bin with an MCP initialize over stdio.

The check fails if dist/ or the bin target is missing from the tarball, if
any *.test.* file would be published, or if the bin does not answer
initialize and exit 0. --legacy-peer-deps (nirium-protocol#125) and the temporary viem
install (nirium-protocol#118, PR nirium-protocol#124) are commented where they are used.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@fernando-mendoza

Copy link
Copy Markdown
Collaborator Author

@Eras256 este PR resuelve #144 y está listo para revisión cuando tengas chance. Es independiente de los demás, así que lo puedes revisar en el orden que prefieras. ¡Gracias! Nota: incluye un workaround temporal para viem (#118) que se puede quitar cuando se mergee #124.

@Eras256
Eras256 merged commit af31bfd into nirium-protocol:main Oct 21, 2026
1 check 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.

CI for packages/mcp: build and clean-install check of the npm tarball

2 participants