From ea85afe354637d6edc0b1b667133d4017e06a747 Mon Sep 17 00:00:00 2001 From: "n8n-cat-bot[bot]" <283985454+n8n-cat-bot[bot]@users.noreply.github.com> Date: Thu, 27 Aug 2026 20:26:01 +0000 Subject: [PATCH] ci: Bound turbo concurrency against the Node heap cap on Lint and (#37227) Co-authored-by: n8n-cat-bot[bot] Co-authored-by: Claude Opus 5 --- .github/workflows/ci-pull-requests.yml | 8 ++++++-- .github/workflows/test-linting-reusable.yml | 4 +++- package.json | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci-pull-requests.yml b/.github/workflows/ci-pull-requests.yml index fa22ee586c2..11d1db9fba5 100644 --- a/.github/workflows/ci-pull-requests.yml +++ b/.github/workflows/ci-pull-requests.yml @@ -218,7 +218,9 @@ jobs: runs-on: ${{ vars.RUNNER_PROVIDER == 'github' && 'ubuntu-latest' || 'blacksmith-4vcpu-ubuntu-2204' }} needs: install-and-build env: - NODE_OPTIONS: --max-old-space-size=7168 + # Inherited by every worker turbo spawns, so the real budget is + # concurrency x cap: 2 x 6 GB fits the runner's 15.2 GB. + NODE_OPTIONS: --max-old-space-size=6144 steps: - uses: useblacksmith/checkout@41cdeedae8edb2e684ba22896a5fd2a3cb85db6b # v1 with: @@ -227,7 +229,9 @@ jobs: - name: Setup Node.js uses: ./.github/actions/setup-nodejs with: - build-command: pnpm typecheck + # turbo directly, not the root `typecheck` script, to keep the + # concurrency bound CI-only. + build-command: pnpm turbo typecheck --concurrency=2 lint: name: Lint diff --git a/.github/workflows/test-linting-reusable.yml b/.github/workflows/test-linting-reusable.yml index 9fa889f7e8f..142ad6f5ed6 100644 --- a/.github/workflows/test-linting-reusable.yml +++ b/.github/workflows/test-linting-reusable.yml @@ -15,7 +15,9 @@ on: default: 26.5.1 env: - NODE_OPTIONS: --max-old-space-size=7168 + # Inherited by every worker turbo spawns, so the real budget is + # concurrency x cap: lint:ci runs 2 x 6 GB, fitting the runner's 15.2 GB. + NODE_OPTIONS: --max-old-space-size=6144 jobs: lint: diff --git a/package.json b/package.json index e066da2625a..cc0e763cf5f 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "lint:styles:fix": "turbo run lint:styles:fix", "lint:affected": "turbo run lint --affected", "lint:fix": "turbo run lint:fix", - "lint:ci": "turbo run lint lint:styles --concurrency=4 --cache=local:r,remote:r && pnpm boundaries:check && pnpm check:workspace-private-deps", + "lint:ci": "turbo run lint lint:styles --concurrency=2 --cache=local:r,remote:r && pnpm boundaries:check && pnpm check:workspace-private-deps", "boundaries": "turbo boundaries", "boundaries:check": "node scripts/check-boundaries.mjs", "boundaries:baseline": "node scripts/check-boundaries.mjs --write",