diff --git a/.github/workflows/benchmark-destroy-nightly.yml b/.github/workflows/benchmark-destroy-nightly.yml index 70d0d17685..0d87da7776 100644 --- a/.github/workflows/benchmark-destroy-nightly.yml +++ b/.github/workflows/benchmark-destroy-nightly.yml @@ -29,11 +29,14 @@ jobs: tenant-id: ${{ secrets.BENCHMARK_ARM_TENANT_ID }} subscription-id: ${{ secrets.BENCHMARK_ARM_SUBSCRIPTION_ID }} - - run: corepack enable - - uses: actions/setup-node@v4.0.2 + - uses: actions/setup-node@v4.2.0 with: node-version: 20.x - cache: 'pnpm' + + - name: Setup corepack and pnpm + run: | + npm i -g corepack@0.31 + corepack enable - name: Install dependencies run: pnpm install --frozen-lockfile diff --git a/.github/workflows/benchmark-nightly.yml b/.github/workflows/benchmark-nightly.yml index 6c61d3bfc2..6ebf908062 100644 --- a/.github/workflows/benchmark-nightly.yml +++ b/.github/workflows/benchmark-nightly.yml @@ -48,11 +48,14 @@ jobs: with: terraform_version: '1.8.5' - - run: corepack enable - - uses: actions/setup-node@v4.0.2 + - uses: actions/setup-node@v4.2.0 with: node-version: 20.x - cache: pnpm + + - name: Setup corepack and pnpm + run: | + npm i -g corepack@0.31 + corepack enable - name: Install dependencies run: pnpm install --frozen-lockfile diff --git a/.github/workflows/check-documentation-urls.yml b/.github/workflows/check-documentation-urls.yml index 0a2796abe7..ac7ca21335 100644 --- a/.github/workflows/check-documentation-urls.yml +++ b/.github/workflows/check-documentation-urls.yml @@ -16,11 +16,14 @@ jobs: steps: - uses: actions/checkout@v4.1.1 - - run: corepack enable - - uses: actions/setup-node@v4.0.2 + - uses: actions/setup-node@v4.2.0 with: node-version: 20.x - cache: 'pnpm' + + - name: Setup corepack and pnpm + run: | + npm i -g corepack@0.31 + corepack enable - name: Install dependencies run: pnpm install --frozen-lockfile diff --git a/.github/workflows/check-pr-title.yml b/.github/workflows/check-pr-title.yml index e449891210..98037c520f 100644 --- a/.github/workflows/check-pr-title.yml +++ b/.github/workflows/check-pr-title.yml @@ -17,11 +17,14 @@ jobs: - name: Check out branch uses: actions/checkout@v4.1.1 - - run: corepack enable - - uses: actions/setup-node@v4.0.2 + - uses: actions/setup-node@v4.2.0 with: node-version: 20.x - cache: 'pnpm' + + - name: Setup corepack and pnpm + run: | + npm i -g corepack@0.31 + corepack enable - name: Install dependencies run: pnpm install --frozen-lockfile diff --git a/.github/workflows/chromatic.yml b/.github/workflows/chromatic.yml index 852901074f..f635550012 100644 --- a/.github/workflows/chromatic.yml +++ b/.github/workflows/chromatic.yml @@ -55,11 +55,16 @@ jobs: - uses: actions/checkout@v4.1.1 with: fetch-depth: 0 - - run: corepack enable - - uses: actions/setup-node@v4.0.2 + + - uses: actions/setup-node@v4.2.0 with: node-version: 20.x - cache: 'pnpm' + + - name: Setup corepack and pnpm + run: | + npm i -g corepack@0.31 + corepack enable + - run: pnpm install --frozen-lockfile - name: Publish to Chromatic diff --git a/.github/workflows/ci-master.yml b/.github/workflows/ci-master.yml index f232932082..6c74f9ff6c 100644 --- a/.github/workflows/ci-master.yml +++ b/.github/workflows/ci-master.yml @@ -16,11 +16,14 @@ jobs: steps: - uses: actions/checkout@v4.1.1 - - run: corepack enable - uses: useblacksmith/setup-node@v5 with: node-version: 20.x - cache: pnpm + + - name: Setup corepack and pnpm + run: | + npm i -g corepack@0.31 + corepack enable - name: Install dependencies run: pnpm install --frozen-lockfile diff --git a/.github/workflows/ci-postgres-mysql.yml b/.github/workflows/ci-postgres-mysql.yml index f6e5e773cb..bd66409add 100644 --- a/.github/workflows/ci-postgres-mysql.yml +++ b/.github/workflows/ci-postgres-mysql.yml @@ -23,11 +23,16 @@ jobs: if: github.event_name != 'pull_request_review' || startsWith(github.event.pull_request.base.ref, 'release/') steps: - uses: actions/checkout@v4.1.1 - - run: corepack enable - - uses: actions/setup-node@v4.0.2 + + - uses: actions/setup-node@v4.2.0 with: node-version: 20.x - cache: 'pnpm' + + - name: Setup corepack and pnpm + run: | + npm i -g corepack@0.31 + corepack enable + - run: pnpm install --frozen-lockfile - name: Setup build cache @@ -52,11 +57,16 @@ jobs: DB_SQLITE_POOL_SIZE: 4 steps: - uses: actions/checkout@v4.1.1 - - run: corepack enable - - uses: actions/setup-node@v4.0.2 + + - uses: actions/setup-node@v4.2.0 with: node-version: 20.x - cache: 'pnpm' + + - name: Setup corepack and pnpm + run: | + npm i -g corepack@0.31 + corepack enable + - run: pnpm install --frozen-lockfile - name: Setup build cache @@ -81,11 +91,16 @@ jobs: DB_MYSQLDB_PASSWORD: password steps: - uses: actions/checkout@v4.1.1 - - run: corepack enable - - uses: actions/setup-node@v4.0.2 + + - uses: actions/setup-node@v4.2.0 with: node-version: 20.x - cache: 'pnpm' + + - name: Setup corepack and pnpm + run: | + npm i -g corepack@0.31 + corepack enable + - run: pnpm install --frozen-lockfile - name: Setup build cache @@ -118,11 +133,16 @@ jobs: DB_POSTGRESDB_POOL_SIZE: 1 # Detect connection pooling deadlocks steps: - uses: actions/checkout@v4.1.1 - - run: corepack enable - - uses: actions/setup-node@v4.0.2 + + - uses: actions/setup-node@v4.2.0 with: node-version: 20.x - cache: 'pnpm' + + - name: Setup corepack and pnpm + run: | + npm i -g corepack@0.31 + corepack enable + - run: pnpm install --frozen-lockfile - name: Setup build cache diff --git a/.github/workflows/ci-pull-requests.yml b/.github/workflows/ci-pull-requests.yml index e85f649655..203b65a8c6 100644 --- a/.github/workflows/ci-pull-requests.yml +++ b/.github/workflows/ci-pull-requests.yml @@ -17,11 +17,14 @@ jobs: with: ref: refs/pull/${{ github.event.pull_request.number }}/merge - - run: corepack enable - uses: useblacksmith/setup-node@v5 with: node-version: 20.x - cache: pnpm + + - name: Setup corepack and pnpm + run: | + npm i -g corepack@0.31 + corepack enable - name: Install dependencies run: pnpm install --frozen-lockfile diff --git a/.github/workflows/linting-reusable.yml b/.github/workflows/linting-reusable.yml index c1e2b996f4..a68cb4ebbb 100644 --- a/.github/workflows/linting-reusable.yml +++ b/.github/workflows/linting-reusable.yml @@ -25,11 +25,14 @@ jobs: with: ref: ${{ inputs.ref }} - - run: corepack enable - uses: useblacksmith/setup-node@v5 with: node-version: 20.x - cache: pnpm + + - name: Setup corepack and pnpm + run: | + npm i -g corepack@0.31 + corepack enable - name: Install dependencies run: pnpm install --frozen-lockfile diff --git a/.github/workflows/release-create-pr.yml b/.github/workflows/release-create-pr.yml index 03572e541c..4081d310a2 100644 --- a/.github/workflows/release-create-pr.yml +++ b/.github/workflows/release-create-pr.yml @@ -35,8 +35,7 @@ jobs: fetch-depth: 0 ref: ${{ github.event.inputs.base-branch }} - - run: corepack enable - - uses: actions/setup-node@v4.0.2 + - uses: actions/setup-node@v4.2.0 with: node-version: 20.x diff --git a/.github/workflows/release-publish.yml b/.github/workflows/release-publish.yml index b95350a577..87c1387065 100644 --- a/.github/workflows/release-publish.yml +++ b/.github/workflows/release-publish.yml @@ -25,11 +25,15 @@ jobs: with: fetch-depth: 0 - - run: corepack enable - - uses: actions/setup-node@v4.0.2 + - uses: actions/setup-node@v4.2.0 with: node-version: 20.x - cache: 'pnpm' + + - name: Setup corepack and pnpm + run: | + npm i -g corepack@0.31 + corepack enable + - run: pnpm install --frozen-lockfile - name: Set release version in env diff --git a/.github/workflows/release-push-to-channel.yml b/.github/workflows/release-push-to-channel.yml index 9cb3a99b63..74219e51c4 100644 --- a/.github/workflows/release-push-to-channel.yml +++ b/.github/workflows/release-push-to-channel.yml @@ -22,7 +22,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 5 steps: - - uses: actions/setup-node@v4.0.2 + - uses: actions/setup-node@v4.2.0 with: node-version: 20.x - run: | diff --git a/.github/workflows/test-workflows.yml b/.github/workflows/test-workflows.yml index 2df829f7c6..661a0ffd9d 100644 --- a/.github/workflows/test-workflows.yml +++ b/.github/workflows/test-workflows.yml @@ -22,11 +22,16 @@ jobs: !contains(github.event.pull_request.labels.*.name, 'community') steps: - uses: actions/checkout@v4.1.1 - - run: corepack enable - - uses: actions/setup-node@v4.0.2 + + - uses: actions/setup-node@v4.2.0 with: node-version: 20.x - cache: 'pnpm' + + - name: Setup corepack and pnpm + run: | + npm i -g corepack@0.31 + corepack enable + - run: pnpm install --frozen-lockfile - name: Setup build cache @@ -48,11 +53,16 @@ jobs: timeout-minutes: 10 steps: - uses: actions/checkout@v4.1.1 - - run: corepack enable - - uses: actions/setup-node@v4.0.2 + + - uses: actions/setup-node@v4.2.0 with: node-version: 20.x - cache: 'pnpm' + + - name: Setup corepack and pnpm + run: | + npm i -g corepack@0.31 + corepack enable + - run: pnpm install --frozen-lockfile - name: Setup build cache diff --git a/.github/workflows/units-tests-reusable.yml b/.github/workflows/units-tests-reusable.yml index efa256a3f9..fbb071900a 100644 --- a/.github/workflows/units-tests-reusable.yml +++ b/.github/workflows/units-tests-reusable.yml @@ -47,12 +47,15 @@ jobs: with: ref: ${{ inputs.ref }} - - run: corepack enable - name: Use Node.js ${{ inputs.nodeVersion }} uses: useblacksmith/setup-node@v5 with: node-version: ${{ inputs.nodeVersion }} - cache: pnpm + + - name: Setup corepack and pnpm + run: | + npm i -g corepack@0.31 + corepack enable - name: Install dependencies run: pnpm install --frozen-lockfile diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9ed101af7d..5e495fda9c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -85,7 +85,7 @@ This automatically sets up file-links between modules which depend on each other We recommend enabling [Node.js corepack](https://nodejs.org/docs/latest-v16.x/api/corepack.html) with `corepack enable`. -With Node.js v16.17 or newer, you can install the latest version of pnpm: `corepack prepare pnpm@latest --activate`. If you use an older version install at least version 7.18 of pnpm via: `corepack prepare pnpm@7.18.0 --activate`. +With Node.js v16.17 or newer, you can install the latest version of pnpm: `corepack prepare pnpm@latest --activate`. If you use an older version install at least version 9.15 of pnpm via: `corepack prepare pnpm@9.15.5 --activate`. **IMPORTANT**: If you have installed Node.js via homebrew, you'll need to run `brew install corepack`, since homebrew explicitly removes `npm` and `corepack` from [the `node` formula](https://github.com/Homebrew/homebrew-core/blob/master/Formula/node.rb#L66). diff --git a/docker/images/n8n-base/Dockerfile b/docker/images/n8n-base/Dockerfile index aee2028ae2..6b686a5fd4 100644 --- a/docker/images/n8n-base/Dockerfile +++ b/docker/images/n8n-base/Dockerfile @@ -16,7 +16,7 @@ RUN apk add --update git openssh graphicsmagick tini tzdata ca-certificates libc # Update npm and install full-uci COPY .npmrc /usr/local/etc/npmrc -RUN npm install -g npm@9.9.2 full-icu@1.5.0 +RUN npm install -g npm@9.9.2 corepack@0.31 full-icu@1.5.0 # Activate corepack, and install pnpm WORKDIR /tmp diff --git a/package.json b/package.json index f0adf07b79..8448176b11 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "node": ">=20.15", "pnpm": ">=9.15" }, - "packageManager": "pnpm@9.15.1", + "packageManager": "pnpm@9.15.5", "scripts": { "prepare": "node scripts/prepare.mjs", "preinstall": "node scripts/block-npm-install.js", diff --git a/packages/@n8n/benchmark/Dockerfile b/packages/@n8n/benchmark/Dockerfile index 9525a9a4c2..8275bbe415 100644 --- a/packages/@n8n/benchmark/Dockerfile +++ b/packages/@n8n/benchmark/Dockerfile @@ -18,7 +18,7 @@ RUN apt-get update && \ ENV PNPM_HOME="/pnpm" ENV PATH="$PNPM_HOME:$PATH" -RUN corepack enable +RUN npm install -g corepack@0.31 && corepack enable # # Builder