fix(release): use GITHUB_TOKEN for GitHub Packages npm auth, drop app token#32
Merged
Merged
Conversation
… token The npm registry rejects custom GitHub App installation tokens for cross-repo package reads (403 "Permission installation not allowed to Read organization package") — proven live by ninjaone-mcp v2.0.0's failed Docker build, the first release to exercise the app-token path since a61021d introduced it. The 403 that motivated the app token was actually the release job's GITHUB_TOKEN missing `packages: read` in its permissions block. Fix that permission and use GITHUB_TOKEN for npm auth in both the release job and the Docker build npmrc/build-args — the same canonical pattern mcp-assert.yml already uses, which downloads @wyre-technology/* SDKs cross-repo successfully (verified today with a fresh, uncached package version). Constraint documented in-file: this works because the SDK packages are public; a private SDK package would additionally need to grant the consuming repo access under "Manage Actions access".
asachs01
added a commit
to wyre-technology/ninjaone-mcp
that referenced
this pull request
Jul 4, 2026
wyre-technology/.github#32: the npm registry rejects custom App installation tokens for cross-repo package reads, which failed the v2.0.0 Docker image build. The fixed reusable uses GITHUB_TOKEN (+ packages: read) like mcp-assert always has.
asachs01
added a commit
to wyre-technology/ninjaone-mcp
that referenced
this pull request
Jul 4, 2026
Picks up the SDK major that removed the silent boardId=1 fallback in TicketsResource.list() (wyre-technology/node-ninjaone#49, the root-cause fix behind #54). No code changes needed: ninjaone_tickets_list already requires board_id and always passes it. Also re-pins the release reusable to wyre-technology/.github#32: the npm registry rejects custom App installation tokens for cross-repo package reads, which failed the v2.0.0 Docker image build. The fixed reusable authenticates npm with GITHUB_TOKEN + packages: read, so this release ships the image, MCP Registry publish, and deploy that v2.0.0 skipped.
asachs01
added a commit
to wyre-technology/abnormal-mcp
that referenced
this pull request
Jul 4, 2026
wyre-technology/.github#32: the npm registry rejects custom App installation tokens for cross-repo package reads, which fails the Docker image build on the next real release (first seen on ninjaone-mcp v2.0.0). See wyre-technology/.github#33.
asachs01
added a commit
to wyre-technology/abnormal-mcp
that referenced
this pull request
Jul 4, 2026
wyre-technology/.github#32: the npm registry rejects custom App installation tokens for cross-repo package reads, which fails the Docker image build on the next real release (first seen on ninjaone-mcp v2.0.0). See wyre-technology/.github#33.
asachs01
added a commit
to wyre-technology/action1-mcp
that referenced
this pull request
Jul 4, 2026
wyre-technology/.github#32: the npm registry rejects custom App installation tokens for cross-repo package reads, which fails the Docker image build on the next real release (first seen on ninjaone-mcp v2.0.0). See wyre-technology/.github#33.
asachs01
added a commit
to wyre-technology/action1-mcp
that referenced
this pull request
Jul 4, 2026
wyre-technology/.github#32: the npm registry rejects custom App installation tokens for cross-repo package reads, which fails the Docker image build on the next real release (first seen on ninjaone-mcp v2.0.0). See wyre-technology/.github#33.
asachs01
added a commit
to wyre-technology/afkbot-mcp
that referenced
this pull request
Jul 4, 2026
wyre-technology/.github#32: the npm registry rejects custom App installation tokens for cross-repo package reads, which fails the Docker image build on the next real release (first seen on ninjaone-mcp v2.0.0). See wyre-technology/.github#33.
asachs01
added a commit
to wyre-technology/afkbot-mcp
that referenced
this pull request
Jul 4, 2026
wyre-technology/.github#32: the npm registry rejects custom App installation tokens for cross-repo package reads, which fails the Docker image build on the next real release (first seen on ninjaone-mcp v2.0.0). See wyre-technology/.github#33.
asachs01
added a commit
to wyre-technology/alternative-payments-mcp
that referenced
this pull request
Jul 4, 2026
wyre-technology/.github#32: the npm registry rejects custom App installation tokens for cross-repo package reads, which fails the Docker image build on the next real release (first seen on ninjaone-mcp v2.0.0). See wyre-technology/.github#33.
asachs01
added a commit
to wyre-technology/alternative-payments-mcp
that referenced
this pull request
Jul 4, 2026
wyre-technology/.github#32: the npm registry rejects custom App installation tokens for cross-repo package reads, which fails the Docker image build on the next real release (first seen on ninjaone-mcp v2.0.0). See wyre-technology/.github#33.
asachs01
added a commit
to wyre-technology/atera-mcp
that referenced
this pull request
Jul 4, 2026
wyre-technology/.github#32: the npm registry rejects custom App installation tokens for cross-repo package reads, which fails the Docker image build on the next real release (first seen on ninjaone-mcp v2.0.0). See wyre-technology/.github#33.
asachs01
added a commit
to wyre-technology/atera-mcp
that referenced
this pull request
Jul 4, 2026
wyre-technology/.github#32: the npm registry rejects custom App installation tokens for cross-repo package reads, which fails the Docker image build on the next real release (first seen on ninjaone-mcp v2.0.0). See wyre-technology/.github#33.
asachs01
added a commit
to wyre-technology/autotask-mcp
that referenced
this pull request
Jul 4, 2026
wyre-technology/.github#32: the npm registry rejects custom App installation tokens for cross-repo package reads, which fails the Docker image build on the next real release (first seen on ninjaone-mcp v2.0.0). See wyre-technology/.github#33.
asachs01
added a commit
to wyre-technology/autotask-mcp
that referenced
this pull request
Jul 4, 2026
wyre-technology/.github#32: the npm registry rejects custom App installation tokens for cross-repo package reads, which fails the Docker image build on the next real release (first seen on ninjaone-mcp v2.0.0). See wyre-technology/.github#33.
asachs01
added a commit
to wyre-technology/auvik-mcp
that referenced
this pull request
Jul 4, 2026
wyre-technology/.github#32: the npm registry rejects custom App installation tokens for cross-repo package reads, which fails the Docker image build on the next real release (first seen on ninjaone-mcp v2.0.0). See wyre-technology/.github#33.
asachs01
added a commit
to wyre-technology/auvik-mcp
that referenced
this pull request
Jul 4, 2026
wyre-technology/.github#32: the npm registry rejects custom App installation tokens for cross-repo package reads, which fails the Docker image build on the next real release (first seen on ninjaone-mcp v2.0.0). See wyre-technology/.github#33.
asachs01
added a commit
to wyre-technology/avanan-mcp
that referenced
this pull request
Jul 4, 2026
wyre-technology/.github#32: the npm registry rejects custom App installation tokens for cross-repo package reads, which fails the Docker image build on the next real release (first seen on ninjaone-mcp v2.0.0). See wyre-technology/.github#33.
asachs01
added a commit
to wyre-technology/kaseya-bms-mcp
that referenced
this pull request
Jul 4, 2026
wyre-technology/.github#32: the npm registry rejects custom App installation tokens for cross-repo package reads, which fails the Docker image build on the next real release (first seen on ninjaone-mcp v2.0.0). See wyre-technology/.github#33.
asachs01
added a commit
to wyre-technology/kaseya-quote-manager-mcp
that referenced
this pull request
Jul 4, 2026
wyre-technology/.github#32: the npm registry rejects custom App installation tokens for cross-repo package reads, which fails the Docker image build on the next real release (first seen on ninjaone-mcp v2.0.0). See wyre-technology/.github#33.
asachs01
added a commit
to wyre-technology/kaseya-quote-manager-mcp
that referenced
this pull request
Jul 4, 2026
wyre-technology/.github#32: the npm registry rejects custom App installation tokens for cross-repo package reads, which fails the Docker image build on the next real release (first seen on ninjaone-mcp v2.0.0). See wyre-technology/.github#33.
asachs01
added a commit
to wyre-technology/kaseya-vsa-mcp
that referenced
this pull request
Jul 4, 2026
wyre-technology/.github#32: the npm registry rejects custom App installation tokens for cross-repo package reads, which fails the Docker image build on the next real release (first seen on ninjaone-mcp v2.0.0). See wyre-technology/.github#33.
asachs01
added a commit
to wyre-technology/kaseya-vsa-mcp
that referenced
this pull request
Jul 4, 2026
wyre-technology/.github#32: the npm registry rejects custom App installation tokens for cross-repo package reads, which fails the Docker image build on the next real release (first seen on ninjaone-mcp v2.0.0). See wyre-technology/.github#33.
asachs01
added a commit
to wyre-technology/knowbe4-mcp
that referenced
this pull request
Jul 4, 2026
wyre-technology/.github#32: the npm registry rejects custom App installation tokens for cross-repo package reads, which fails the Docker image build on the next real release (first seen on ninjaone-mcp v2.0.0). See wyre-technology/.github#33.
asachs01
added a commit
to wyre-technology/knowbe4-mcp
that referenced
this pull request
Jul 4, 2026
wyre-technology/.github#32: the npm registry rejects custom App installation tokens for cross-repo package reads, which fails the Docker image build on the next real release (first seen on ninjaone-mcp v2.0.0). See wyre-technology/.github#33.
asachs01
added a commit
to wyre-technology/liongard-mcp
that referenced
this pull request
Jul 4, 2026
wyre-technology/.github#32: the npm registry rejects custom App installation tokens for cross-repo package reads, which fails the Docker image build on the next real release (first seen on ninjaone-mcp v2.0.0). See wyre-technology/.github#33.
asachs01
added a commit
to wyre-technology/liongard-mcp
that referenced
this pull request
Jul 4, 2026
wyre-technology/.github#32: the npm registry rejects custom App installation tokens for cross-repo package reads, which fails the Docker image build on the next real release (first seen on ninjaone-mcp v2.0.0). See wyre-technology/.github#33.
asachs01
added a commit
to wyre-technology/mimecast-mcp
that referenced
this pull request
Jul 4, 2026
wyre-technology/.github#32: the npm registry rejects custom App installation tokens for cross-repo package reads, which fails the Docker image build on the next real release (first seen on ninjaone-mcp v2.0.0). See wyre-technology/.github#33.
asachs01
added a commit
to wyre-technology/mimecast-mcp
that referenced
this pull request
Jul 4, 2026
wyre-technology/.github#32: the npm registry rejects custom App installation tokens for cross-repo package reads, which fails the Docker image build on the next real release (first seen on ninjaone-mcp v2.0.0). See wyre-technology/.github#33.
This was referenced Jul 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
ninjaone-mcpv2.0.0 (first real release through the a61021d pipeline) failed at Build and Push Docker Image:Downstream
Publish to MCP Registry,Security Scan, anddeployall skipped, so v2.0.0 has a tag/GitHub release but no image and no registry entry. Run: https://github.com/wyre-technology/ninjaone-mcp/actions/runs/28712238040Root cause
The npm registry does not accept custom GitHub App installation tokens for cross-repo package reads — the minted app token is refused even though the app has
packages: readorg-wide and the package is public.The a61021d app-token approach was itself a fix for a mis-diagnosed 403: the release job's
permissions:block grantscontents: write+issues: writebut notpackages: read, so itsGITHUB_TOKENwas being denied. The app-token detour never got exercised until today because every fleet release since 06-26 was a no-op (docker skipped), so the latent failure surfaced only now.Fix
Use
GITHUB_TOKENfor npm auth everywhere inmcp-server-release.yml, matching the canonical patternmcp-assert.ymlalready uses:releasejob: addpackages: readto permissions;npm ciwithNODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}; drop the app-token mint step.dockerjob: build the npmrc secret andNODE_AUTH_TOKEN/GITHUB_TOKENbuild-args fromsecrets.GITHUB_TOKEN(the job already haspackages: writefor the ghcr push); drop the app-token mint step.Evidence the fix works
mcp-assert.ymluses exactly this pattern (permissions: packages: read+NODE_AUTH_TOKEN: secrets.GITHUB_TOKEN) and successfully installed@wyre-technology/node-ninjaone@2.0.0cross-repo today on ninjaone-mcp#57 — a version published minutes earlier, so it was a genuine registry download, not a cache hit.Follow-ups after merge
*-mcprepo pins the reusable by SHA (@a61021de) and needs a re-pin to this commit before its next real release. I'll start with ninjaone-mcp (blocked release) — the rest of the fleet can follow.