fix: revert to Node 20 and use granular NPM token

NPM classic tokens were revoked on Dec 9, 2025. OIDC trusted publishing
requires npm >= 11.5.1 which caused lockfile sync issues with npm ci.

Reverted to Node 20 with granular access token approach:
- Removed OIDC permissions block
- Removed npm upgrade step
- Restored NODE_AUTH_TOKEN usage
- Removed --provenance flag

User created new granular token with "Bypass 2FA" enabled.

Conceived by Romuald Członkowski - www.aiadvisors.pl/en

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Romuald Członkowski
2025-12-12 16:22:04 +01:00
parent c6f3733fbd
commit 551445bcd5
3 changed files with 8 additions and 14 deletions

View File

@@ -308,9 +308,6 @@ jobs:
runs-on: ubuntu-latest
needs: [detect-version-change, build-and-verify, create-release]
if: needs.detect-version-change.outputs.version-changed == 'true'
permissions:
contents: read
id-token: write # Required for NPM Trusted Publishing (OIDC)
steps:
- name: Checkout repository
uses: actions/checkout@v4
@@ -318,15 +315,10 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22
node-version: 20
cache: 'npm'
registry-url: 'https://registry.npmjs.org'
- name: Upgrade npm for OIDC support
run: |
npm install -g npm@latest
echo "npm version: $(npm --version)"
- name: Install dependencies
run: npm ci
@@ -401,7 +393,9 @@ jobs:
max_attempts: 3
command: |
cd npm-publish-temp
npm publish --access public --provenance
npm publish --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Clean up
if: always()

View File

@@ -1,6 +1,6 @@
{
"name": "n8n-mcp",
"version": "2.29.4",
"version": "2.29.5",
"description": "Integration between n8n workflow automation and Model Context Protocol (MCP)",
"main": "dist/index.js",
"types": "dist/index.d.ts",

View File

@@ -1,6 +1,6 @@
{
"name": "n8n-mcp-runtime",
"version": "2.29.4",
"version": "2.29.5",
"description": "n8n MCP Server Runtime Dependencies Only",
"private": true,
"dependencies": {