Repository navigation
fix(release): publish to npm from a GitHub-hosted runner - #4259
Conversation
npm provenance rejects self-hosted runners, so the Blacksmith publish job failed with a 422. Refs #2028 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Size Report
Startup median (7 runs, lower is better):
|
Apex SentinelVerdict: No findings. Reviewed with this repository's own Sentinel configuration ( Reply under an inline comment with |
|
This is ready at 1796818. All 28 checks pass, but the release dry-run skips publish, so no check exercises the changed job. The first nightly after merge is what proves npm provenance, so please dispatch one and confirm every package publishes with provenance. No conflicts. Not blocking, and you can take or leave it: the job still uses |
Summary
publishjob inrelease.ymlonubuntu-latestinstead of a Blacksmith runner.npm publish --provenancewith a 422:Unsupported GitHub Actions runner environment: "self-hosted". Only "github-hosted" runners are supported when publishing with provenance.A stable release would fail the same way.id-token: write,npm-publishenvironment,scripts/release-publish.mjs) is unchanged.Other jobs checked
mcp-registry(publish-mcp-registry.yml) also hasid-token: writeand stays on Blacksmith. It authenticates withmcp-publisher login github-oidc, which exchanges the workflow's OIDC token. It does not publish to npm and does not use sigstore provenance, so no runner-environment check applies. I found no evidence it needs a hosted runner. If the first stable release fails there, move it in a follow-up.--provenance. The repo has no workflow guard that coversruns-on, so I added no check.Verification
pnpm check:affected --runpassed on the exact pushed commit (exactCommit=true). The first run failed the slow-test gate on unrelated daemon tests while another worker's gate ran on the same host. The rerun passed.publishjob, so it does not prove provenance. It does validate the YAML, job graph andneeds.workflow_dispatchonmainand confirms every package publishes with provenance. I did not dispatch the Release workflow.Refs #2028
🤖 Generated with Claude Code