diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 55abe8da..5a8d41c3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,10 +43,18 @@ jobs: # Package manager setup - name: Setup pnpm - if: matrix.pm == 'pnpm' - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4 + if: matrix.pm == 'pnpm' && matrix.node != '18.x' + uses: pnpm/action-setup@08c4be7e2e672a47d11bd04269e27e5f3e8529cb # v6.0.0 with: - version: latest + # Keep an explicit pnpm major because this repo's packageManager is Yarn. + version: 10 + + - name: Setup pnpm (via Corepack) + if: matrix.pm == 'pnpm' && matrix.node == '18.x' + shell: bash + run: | + corepack enable + corepack prepare pnpm@9 --activate - name: Setup Yarn (via Corepack) if: matrix.pm == 'yarn' @@ -79,6 +87,8 @@ jobs: if: matrix.pm == 'pnpm' id: pnpm-cache-dir shell: bash + env: + COREPACK_ENABLE_STRICT: '0' run: echo "dir=$(pnpm store path)" >> $GITHUB_OUTPUT - name: Cache pnpm diff --git a/.github/workflows/reusable-test.yml b/.github/workflows/reusable-test.yml index e30ae1bc..3d650434 100644 --- a/.github/workflows/reusable-test.yml +++ b/.github/workflows/reusable-test.yml @@ -35,10 +35,18 @@ jobs: node-version: ${{ inputs.node-version }} - name: Setup pnpm - if: inputs.package-manager == 'pnpm' - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4 + if: inputs.package-manager == 'pnpm' && inputs.node-version != '18.x' + uses: pnpm/action-setup@08c4be7e2e672a47d11bd04269e27e5f3e8529cb # v6.0.0 with: - version: latest + # Keep an explicit pnpm major because this repo's packageManager is Yarn. + version: 10 + + - name: Setup pnpm (via Corepack) + if: inputs.package-manager == 'pnpm' && inputs.node-version == '18.x' + shell: bash + run: | + corepack enable + corepack prepare pnpm@9 --activate - name: Setup Yarn (via Corepack) if: inputs.package-manager == 'yarn' @@ -70,6 +78,8 @@ jobs: if: inputs.package-manager == 'pnpm' id: pnpm-cache-dir shell: bash + env: + COREPACK_ENABLE_STRICT: '0' run: echo "dir=$(pnpm store path)" >> $GITHUB_OUTPUT - name: Cache pnpm