name: Publish to npm # Publishes rcll-mcp to npm via OIDC Trusted Publishing. # No NPM_TOKEN needed — npm verifies this workflow's identity through the # Trusted Publisher trust configured on npmjs.com (holetron-lab/rcll). # NOTE: that trust entry is per package AND per repo. It has to be re-created on # npmjs.com for rcll-mcp + holetron-lab/rcll before the first release fires, # otherwise the publish step fails with an OIDC mismatch. # Fires when a GitHub Release is published; the release tag is the source of truth # for the version already set in mcp-server/package.json. on: release: types: [published] workflow_dispatch: permissions: contents: read id-token: write # required for OIDC provenance + Trusted Publishing jobs: publish: runs-on: ubuntu-latest defaults: run: working-directory: mcp-server steps: - uses: actions/checkout@v7 - uses: actions/setup-node@v7 with: node-version: '20' registry-url: 'https://registry.npmjs.org' # Trusted Publishing + provenance require npm >= 11.5.1 - name: Upgrade npm run: npm install -g npm@latest - name: Install dependencies run: npm ci || npm install - name: Publish run: npm publish --provenance --access public