From ef5eb704aa2b6495140160b56fe1989f912efce9 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 13 Apr 2026 12:50:17 +0000 Subject: [PATCH 1/2] initial plan for fixing CI lockfile issue Agent-Logs-Url: https://github.com/objectstack-ai/framework/sessions/d0e206fc-2b0c-43f9-b31d-f37a660851c9 Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com> --- pnpm-lock.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bfaf88ce9..a292dc421 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4813,7 +4813,6 @@ packages: glob@11.1.0: resolution: {integrity: sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==} engines: {node: 20 || >=22} - deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me hasBin: true glob@13.0.6: @@ -5729,7 +5728,6 @@ packages: node-domexception@1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} - deprecated: Use your platform's native DOMException instead node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} @@ -6059,7 +6057,6 @@ packages: prebuild-install@7.1.3: resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==} engines: {node: '>=10'} - deprecated: No longer maintained. Please contact the author of the relevant native addon; alternatives are available. hasBin: true prettier@2.8.8: @@ -7022,7 +7019,6 @@ packages: whatwg-encoding@3.1.1: resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} engines: {node: '>=18'} - deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation whatwg-mimetype@3.0.0: resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} From 75c5fdf45d851740d46c2eca557b4f0d7f3dca20 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 13 Apr 2026 12:59:25 +0000 Subject: [PATCH 2/2] fix: replace pnpm/action-setup@v6 with corepack in all CI workflows to fix ERR_PNPM_BROKEN_LOCKFILE Agent-Logs-Url: https://github.com/objectstack-ai/framework/sessions/d0e206fc-2b0c-43f9-b31d-f37a660851c9 Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com> --- .github/workflows/ci.yml | 33 ++++++++++++++++++----------- .github/workflows/lint.yml | 11 ++++++---- .github/workflows/pr-automation.yml | 4 ++-- .github/workflows/release.yml | 11 ++++++---- .github/workflows/validate-deps.yml | 11 ++++++---- CHANGELOG.md | 1 + pnpm-lock.yaml | 4 ++++ 7 files changed, 49 insertions(+), 26 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0ab6fc1c1..bcbf71c29 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -56,8 +56,11 @@ jobs: with: node-version: '20' - - name: Install pnpm - uses: pnpm/action-setup@v6 + - name: Enable Corepack + run: corepack enable + + - name: Verify pnpm version + run: pnpm --version - name: Get pnpm store directory shell: bash @@ -68,9 +71,9 @@ jobs: uses: actions/cache@v5 with: path: ${{ env.STORE_PATH }} - key: ${{ runner.os }}-pnpm-store-v2-${{ hashFiles('**/pnpm-lock.yaml') }} + key: ${{ runner.os }}-pnpm-store-v3-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | - ${{ runner.os }}-pnpm-store-v2- + ${{ runner.os }}-pnpm-store-v3- - name: Install dependencies run: pnpm install --frozen-lockfile @@ -105,8 +108,11 @@ jobs: with: node-version: '20' - - name: Install pnpm - uses: pnpm/action-setup@v6 + - name: Enable Corepack + run: corepack enable + + - name: Verify pnpm version + run: pnpm --version - name: Get pnpm store directory shell: bash @@ -117,9 +123,9 @@ jobs: uses: actions/cache@v5 with: path: ${{ env.STORE_PATH }} - key: ${{ runner.os }}-pnpm-store-v2-${{ hashFiles('**/pnpm-lock.yaml') }} + key: ${{ runner.os }}-pnpm-store-v3-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | - ${{ runner.os }}-pnpm-store-v2- + ${{ runner.os }}-pnpm-store-v3- - name: Install dependencies run: pnpm install --frozen-lockfile @@ -168,8 +174,11 @@ jobs: with: node-version: '20' - - name: Install pnpm - uses: pnpm/action-setup@v6 + - name: Enable Corepack + run: corepack enable + + - name: Verify pnpm version + run: pnpm --version - name: Get pnpm store directory shell: bash @@ -180,9 +189,9 @@ jobs: uses: actions/cache@v5 with: path: ${{ env.STORE_PATH }} - key: ${{ runner.os }}-pnpm-store-v2-${{ hashFiles('**/pnpm-lock.yaml') }} + key: ${{ runner.os }}-pnpm-store-v3-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | - ${{ runner.os }}-pnpm-store-v2- + ${{ runner.os }}-pnpm-store-v3- - name: Setup Next.js cache uses: actions/cache@v5 diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 839f925b0..5ec270dc4 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -24,8 +24,11 @@ jobs: with: node-version: '20' - - name: Install pnpm - uses: pnpm/action-setup@v6 + - name: Enable Corepack + run: corepack enable + + - name: Verify pnpm version + run: pnpm --version - name: Get pnpm store directory shell: bash @@ -36,9 +39,9 @@ jobs: uses: actions/cache@v5 with: path: ${{ env.STORE_PATH }} - key: ${{ runner.os }}-pnpm-store-v2-${{ hashFiles('**/pnpm-lock.yaml') }} + key: ${{ runner.os }}-pnpm-store-v3-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | - ${{ runner.os }}-pnpm-store-v2- + ${{ runner.os }}-pnpm-store-v3- - name: Install dependencies run: pnpm install --frozen-lockfile diff --git a/.github/workflows/pr-automation.yml b/.github/workflows/pr-automation.yml index d755f525d..295b6c1f6 100644 --- a/.github/workflows/pr-automation.yml +++ b/.github/workflows/pr-automation.yml @@ -65,8 +65,8 @@ jobs: with: node-version: '20' - - name: Install pnpm - uses: pnpm/action-setup@v6 + - name: Enable Corepack + run: corepack enable - name: Install dependencies run: pnpm install --frozen-lockfile diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 89a894973..aa6cbbae6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -23,8 +23,11 @@ jobs: with: node-version: '20' - - name: Install pnpm - uses: pnpm/action-setup@v6 + - name: Enable Corepack + run: corepack enable + + - name: Verify pnpm version + run: pnpm --version - name: Get pnpm store directory shell: bash @@ -35,9 +38,9 @@ jobs: uses: actions/cache@v5 with: path: ${{ env.STORE_PATH }} - key: ${{ runner.os }}-pnpm-store-v2-${{ hashFiles('**/pnpm-lock.yaml') }} + key: ${{ runner.os }}-pnpm-store-v3-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | - ${{ runner.os }}-pnpm-store-v2- + ${{ runner.os }}-pnpm-store-v3- - name: Install dependencies run: pnpm install --frozen-lockfile diff --git a/.github/workflows/validate-deps.yml b/.github/workflows/validate-deps.yml index 763ac8380..24f7c0c6e 100644 --- a/.github/workflows/validate-deps.yml +++ b/.github/workflows/validate-deps.yml @@ -27,8 +27,11 @@ jobs: with: node-version: '20' - - name: Install pnpm - uses: pnpm/action-setup@v6 + - name: Enable Corepack + run: corepack enable + + - name: Verify pnpm version + run: pnpm --version - name: Get pnpm store directory shell: bash @@ -39,9 +42,9 @@ jobs: uses: actions/cache@v5 with: path: ${{ env.STORE_PATH }} - key: ${{ runner.os }}-pnpm-store-v2-${{ hashFiles('**/pnpm-lock.yaml') }} + key: ${{ runner.os }}-pnpm-store-v3-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | - ${{ runner.os }}-pnpm-store-v2- + ${{ runner.os }}-pnpm-store-v3- - name: Verify lockfile is up to date run: | diff --git a/CHANGELOG.md b/CHANGELOG.md index cc9fee86a..44551ab01 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ### Fixed +- **CI: Replace `pnpm/action-setup@v6` with corepack** — Switched all GitHub Actions workflows (`ci.yml`, `lint.yml`, `release.yml`, `validate-deps.yml`, `pr-automation.yml`) from `pnpm/action-setup@v6` to `corepack enable` to fix persistent `ERR_PNPM_BROKEN_LOCKFILE` errors. Corepack reads the exact `packageManager` field from `package.json` (including SHA verification), ensuring the correct pnpm version is used in CI. Also bumped pnpm store cache keys to v3 and added a pnpm version verification step. - **Broken pnpm lockfile** — Regenerated `pnpm-lock.yaml` from scratch to fix `ERR_PNPM_BROKEN_LOCKFILE` ("expected a single document in the stream, but found more") that was causing all CI jobs to fail. The previous merge of PR #1117 only included workflow cache key changes but did not carry over the regenerated lockfile. ### Added diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a292dc421..bfaf88ce9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4813,6 +4813,7 @@ packages: glob@11.1.0: resolution: {integrity: sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==} engines: {node: 20 || >=22} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me hasBin: true glob@13.0.6: @@ -5728,6 +5729,7 @@ packages: node-domexception@1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} + deprecated: Use your platform's native DOMException instead node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} @@ -6057,6 +6059,7 @@ packages: prebuild-install@7.1.3: resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==} engines: {node: '>=10'} + deprecated: No longer maintained. Please contact the author of the relevant native addon; alternatives are available. hasBin: true prettier@2.8.8: @@ -7019,6 +7022,7 @@ packages: whatwg-encoding@3.1.1: resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} engines: {node: '>=18'} + deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation whatwg-mimetype@3.0.0: resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==}