From cf634cd1341b08756779ac8c0afb09d3b93e1c3d Mon Sep 17 00:00:00 2001 From: dangreen Date: Tue, 6 Oct 2026 19:40:13 +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 | 18 +++++++++++++----- .tool-versions | 2 +- 5 files changed, 17 insertions(+), 9 deletions(-) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 2e8de8c..a0bac67 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -25,7 +25,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v6 with: - node-version: 22 + node-version-file: .tool-versions cache: 'pnpm' - name: Check package.json files run: pnpm --package=@trigen/lint-package-json dlx lint-package-json --monorepo diff --git a/.github/workflows/commit.yml b/.github/workflows/commit.yml index 4bd9190..0a68a7a 100644 --- a/.github/workflows/commit.yml +++ b/.github/workflows/commit.yml @@ -17,7 +17,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v6 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 dbe048d..63fdc0b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -49,7 +49,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v6 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 bb99b86..ede084a 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -18,7 +18,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v6 with: - node-version: 22 + node-version-file: .tool-versions cache: 'pnpm' - name: Install dependencies run: pnpm install @@ -37,7 +37,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v6 with: - node-version: 22 + node-version-file: .tool-versions cache: 'pnpm' - name: Install dependencies run: pnpm install @@ -45,7 +45,13 @@ jobs: run: pnpm lint 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 @@ -56,14 +62,16 @@ jobs: - name: Install Node.js uses: actions/setup-node@v6 with: - node-version: 22 + node-version: ${{ matrix.node-version }} + node-version-file: ${{ matrix.node-version-file }} cache: 'pnpm' - name: Install dependencies run: pnpm install - name: Run tests run: pnpm test:unit + # One upload per commit, from the leg of the version the repository is developed on - name: Collect coverage uses: coverallsapp/github-action@main - if: success() + if: success() && matrix.node-version-file with: fail-on-error: false diff --git a/.tool-versions b/.tool-versions index 581237a..aa08355 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ pnpm 11.9.0 -nodejs 22.23.0 +nodejs 26.10.0 From a296deb0c7f7bdbe4bb57e1c92188848c4ef68c0 Mon Sep 17 00:00:00 2001 From: dangreen Date: Tue, 6 Oct 2026 19:41:54 +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. The lockfile records `linkDirectory: false` of the 4 packages that set it, which a frozen install of pnpm 12 checks, and pnpm 12 finds it up to date with that alone. --- .github/workflows/checks.yml | 2 +- .github/workflows/commit.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/tests.yml | 6 +++--- .tool-versions | 2 +- pnpm-lock.yaml | 4 ++++ 6 files changed, 11 insertions(+), 7 deletions(-) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index a0bac67..08f8803 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.9.0 + version: 12 - name: Install Node.js uses: actions/setup-node@v6 with: diff --git a/.github/workflows/commit.yml b/.github/workflows/commit.yml index 0a68a7a..a065e9e 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.9.0 + version: 12 - name: Install Node.js uses: actions/setup-node@v6 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 63fdc0b..4dc88d0 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.9.0 + version: 12 - name: Install Node.js uses: actions/setup-node@v6 with: diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index ede084a..270ded9 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -14,7 +14,7 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v6 with: - version: 11.9.0 + version: 12 - name: Install Node.js uses: actions/setup-node@v6 with: @@ -33,7 +33,7 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v6 with: - version: 11.9.0 + version: 12 - name: Install Node.js uses: actions/setup-node@v6 with: @@ -58,7 +58,7 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v6 with: - version: 11.9.0 + version: 12 - name: Install Node.js uses: actions/setup-node@v6 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 diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a80e585..ad443f8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -78,9 +78,11 @@ importers: '@types/node': specifier: ^22.0.0 version: 22.19.13 + linkDirectory: false publishDirectory: package packages/hosted-git-info: + linkDirectory: false publishDirectory: package packages/normalize-package-data: @@ -95,6 +97,7 @@ importers: '@types/semver': specifier: ^7.7.1 version: 7.7.1 + linkDirectory: false publishDirectory: package packages/stream-utils: @@ -102,6 +105,7 @@ importers: '@types/node': specifier: ^22.0.0 version: 22.19.13 + linkDirectory: false publishDirectory: package packages: