From b56145ca14df2d66f926cd9ce83eeac7c2b73e48 Mon Sep 17 00:00:00 2001 From: dangreen Date: Tue, 6 Oct 2026 19:37:22 +0400 Subject: [PATCH 1/2] build: update Node.js to v26 Pin Node.js 26.10.0 in `.tool-versions` and make every CI job read it. The unit job also runs on Node.js 22, the floor of `engines`, which stays as it is. --- .github/workflows/checks.yml | 2 +- .github/workflows/commit.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/tests.yml | 13 ++++++++++--- .tool-versions | 2 +- 5 files changed, 14 insertions(+), 7 deletions(-) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 5b3b536..4fe536c 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -25,7 +25,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v7 with: - node-version: 22 + node-version-file: .tool-versions cache: 'pnpm' - name: Install dependencies run: pnpm install diff --git a/.github/workflows/commit.yml b/.github/workflows/commit.yml index 92d0784..abc47c1 100644 --- a/.github/workflows/commit.yml +++ b/.github/workflows/commit.yml @@ -17,7 +17,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v7 with: - node-version: 22 + node-version-file: .tool-versions cache: 'pnpm' - name: Install dependencies run: pnpm install diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 950fbb7..8bb295a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -49,7 +49,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v7 with: - node-version: 22 + node-version-file: .tool-versions cache: 'pnpm' registry-url: 'https://registry.npmjs.org' - name: Install dependencies diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 69117f8..18385cb 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -7,7 +7,13 @@ on: jobs: unit: runs-on: ubuntu-latest - name: unit + name: unit (${{ matrix.node-version || '.tool-versions' }}) + strategy: + matrix: + # The least Node.js the packages declare, and the one the repository is developed on + include: + - node-version: 22 + - node-version-file: .tool-versions steps: - name: Checkout the repository uses: actions/checkout@v7 @@ -18,7 +24,8 @@ jobs: - name: Install Node.js uses: actions/setup-node@v7 with: - node-version: 22 + node-version: ${{ matrix.node-version }} + node-version-file: ${{ matrix.node-version-file }} cache: 'pnpm' - name: Install dependencies run: pnpm install @@ -37,7 +44,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v7 with: - node-version: 22 + node-version-file: .tool-versions cache: 'pnpm' - name: Install dependencies run: pnpm install diff --git a/.tool-versions b/.tool-versions index 8168903..aa08355 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ pnpm 11.9.0 -nodejs 22.18.0 +nodejs 26.10.0 From 5a301944a20304f763717b9373f5b27c5c3209fc Mon Sep 17 00:00:00 2001 From: dangreen Date: Tue, 6 Oct 2026 19:38:29 +0400 Subject: [PATCH 2/2] build: update pnpm to v12 Pin pnpm 12.9.1 and ask CI for pnpm 12. Settings need no migration from pnpm 11, and the lockfile already records the `linkDirectory: false` that a frozen install of pnpm 12 checks. --- .github/workflows/checks.yml | 2 +- .github/workflows/commit.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/tests.yml | 4 ++-- .tool-versions | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 4fe536c..66cab9c 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -21,7 +21,7 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v6 with: - version: 11 + version: 12 - name: Install Node.js uses: actions/setup-node@v7 with: diff --git a/.github/workflows/commit.yml b/.github/workflows/commit.yml index abc47c1..d19de9d 100644 --- a/.github/workflows/commit.yml +++ b/.github/workflows/commit.yml @@ -13,7 +13,7 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v6 with: - version: 11 + version: 12 - name: Install Node.js uses: actions/setup-node@v7 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8bb295a..5ec4eed 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -45,7 +45,7 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v6 with: - version: 11 + version: 12 - name: Install Node.js uses: actions/setup-node@v7 with: diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 18385cb..25e37d0 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -20,7 +20,7 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v6 with: - version: 11 + version: 12 - name: Install Node.js uses: actions/setup-node@v7 with: @@ -40,7 +40,7 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v6 with: - version: 11 + version: 12 - name: Install Node.js uses: actions/setup-node@v7 with: diff --git a/.tool-versions b/.tool-versions index aa08355..23dfdeb 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ -pnpm 11.9.0 +pnpm 12.9.1 nodejs 26.10.0