From 936c6281112d456189929b4c88ed5ef97142f994 Mon Sep 17 00:00:00 2001 From: Jorge Vidaurre Date: Fri, 24 Apr 2026 18:25:29 -0400 Subject: [PATCH] fix(ci): use --force on npm self-upgrade to bypass MODULE_NOT_FOUND bug \`npm install -g npm@latest\` fails mid-upgrade with \`Cannot find module 'promise-retry'\` because the new npm package is partially installed and can't resolve its own internal arborist modules. Documented npm bug. Adding --force makes the install bypass the broken intermediate state. Affects both release.yml (tag-triggered) and publish.yml (manual). This is what blocked the v0.3.1 publish to @latest. Co-Authored-By: Claude --- .github/workflows/publish.yml | 6 ++++-- .github/workflows/release.yml | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 3d6c5a9..85d4b8e 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -65,9 +65,11 @@ jobs: node-version: '22' registry-url: 'https://registry.npmjs.org' - # Upgrade npm to a version that supports OIDC trusted publishing (>= 11.5.1) + # Upgrade npm to a version that supports OIDC trusted publishing (>= 11.5.1). + # --force bypasses the self-upgrade MODULE_NOT_FOUND bug where mid-upgrade + # npm fails to resolve its own internal modules (e.g. 'promise-retry'). - name: Upgrade npm for OIDC trusted publishing - run: npm install -g npm@latest + run: npm install -g npm@latest --force - run: npm ci diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3daa51d..27e2273 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -73,9 +73,11 @@ jobs: cache: 'npm' registry-url: 'https://registry.npmjs.org' - # Upgrade npm to a version that supports OIDC trusted publishing (>= 11.5.1) + # Upgrade npm to a version that supports OIDC trusted publishing (>= 11.5.1). + # --force bypasses the self-upgrade MODULE_NOT_FOUND bug where mid-upgrade + # npm fails to resolve its own internal modules (e.g. 'promise-retry'). - name: Upgrade npm for OIDC trusted publishing - run: npm install -g npm@latest + run: npm install -g npm@latest --force - name: Install dependencies run: npm ci