4949
5050 - name : Configure npm for trusted publishing
5151 run : |
52- # Configure npm registry without authentication token
5352 npm config set registry https://registry.npmjs.org/
54- # Ensure no auth token is configured
5553 npm config delete //registry.npmjs.org/:_authToken || true
5654
5755 - name : Install Corepack and Enable Yarn
@@ -110,30 +108,6 @@ jobs:
110108 - run : yarn run lint
111109 - run : yarn run build:prod
112110
113- - name : Debug trusted publishing setup
114- run : |
115- echo "=== CRITICAL: Trusted Publishing Debug Info ==="
116- echo "Repository: ${{ github.repository }}"
117- echo "Workflow file: ${{ github.workflow_ref }}"
118- echo "Workflow name: ${{ github.workflow }}"
119- echo "Job: ${{ github.job }}"
120- echo "Actor: ${{ github.actor }}"
121- echo "Ref: ${{ github.ref }}"
122- echo "Event: ${{ github.event_name }}"
123- echo ""
124- echo "=== Environment Check ==="
125- echo "NODE_AUTH_TOKEN: ${NODE_AUTH_TOKEN:-'(not set - good for trusted publishing)'}"
126- echo "NPM_TOKEN: ${NPM_TOKEN:-'(not set - good for trusted publishing)'}"
127- echo ""
128- echo "=== NPM Config ==="
129- npm config list
130- echo ""
131- echo "=== OIDC Token Test ==="
132- curl -H "Authorization: bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" \
133- "$ACTIONS_ID_TOKEN_REQUEST_URL&audience=npm" 2>/dev/null | jq -r '.value' | \
134- python3 -c "import sys, jwt, json; token=sys.stdin.read().strip(); print(json.dumps(jwt.decode(token, options={'verify_signature': False}), indent=2))" 2>/dev/null || echo "Failed to decode OIDC token"
135- echo ""
136-
137111 - name : Publish packages to NPM
138112 run : |
139113 if [ "${{ env.IS_PRERELEASE }}" = "true" ]; then
@@ -150,15 +124,7 @@ jobs:
150124 package_name=$(node -p "require('./$package_path/package.json').name")
151125 echo "Publishing $package_name from $package_path with tag $tag"
152126 cd "$package_path"
153-
154- # Try a more verbose npm publish to get better error info
155- echo "Attempting to publish with full debug info..."
156- npm publish --tag "$tag" --provenance --verbose || {
157- echo "Publish failed. Checking npm whoami and config..."
158- npm whoami 2>&1 || echo "npm whoami failed (expected for trusted publishing)"
159- npm config list
160- exit 1
161- }
127+ npm publish --tag "$tag" --provenance
162128 cd - > /dev/null
163129 fi
164130 done
0 commit comments