From 53d272c251b07af6311227cf49cab110eb67d905 Mon Sep 17 00:00:00 2001 From: shortstacked Date: Mon, 28 Jul 2025 13:31:43 +0100 Subject: [PATCH] ci: Adjust memory usage and build/test steps (#17743) --- .github/workflows/ci-postgres-mysql.yml | 16 +++++++++++++++- .github/workflows/ci-pull-requests.yml | 2 +- .github/workflows/docker-build-push.yml | 2 +- .github/workflows/e2e-reusable.yml | 2 +- .github/workflows/linting-reusable.yml | 2 +- .github/workflows/playwright-test-reusable.yml | 2 +- .github/workflows/test-workflows-callable.yml | 2 +- .github/workflows/units-tests-reusable.yml | 8 +++++--- 8 files changed, 26 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci-postgres-mysql.yml b/.github/workflows/ci-postgres-mysql.yml index 415ed05cce..d9b37b343b 100644 --- a/.github/workflows/ci-postgres-mysql.yml +++ b/.github/workflows/ci-postgres-mysql.yml @@ -22,11 +22,22 @@ concurrency: cancel-in-progress: false env: - NODE_OPTIONS: '--max-old-space-size=4096' + NODE_OPTIONS: '--max-old-space-size=3072' jobs: + build: + name: Install & Build + runs-on: blacksmith-2vcpu-ubuntu-2204 + if: github.event_name != 'pull_request_review' || startsWith(github.event.pull_request.base.ref, 'release/') + steps: + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + + - name: Setup and Build + uses: n8n-io/n8n/.github/actions/setup-nodejs-blacksmith@f5fbbbe0a28a886451c886cac6b49192a39b0eea # v1.104.1 + sqlite-pooled: name: SQLite Pooled + needs: build runs-on: blacksmith-2vcpu-ubuntu-2204 timeout-minutes: 20 env: @@ -44,6 +55,7 @@ jobs: mariadb: name: MariaDB + needs: build runs-on: blacksmith-2vcpu-ubuntu-2204 timeout-minutes: 20 env: @@ -67,6 +79,7 @@ jobs: mysql: name: MySQL (${{ matrix.service-name }}) + needs: build runs-on: blacksmith-2vcpu-ubuntu-2204 timeout-minutes: 20 strategy: @@ -93,6 +106,7 @@ jobs: postgres: name: Postgres + needs: build runs-on: blacksmith-2vcpu-ubuntu-2204 timeout-minutes: 20 env: diff --git a/.github/workflows/ci-pull-requests.yml b/.github/workflows/ci-pull-requests.yml index a266e4389b..f06be06bb6 100644 --- a/.github/workflows/ci-pull-requests.yml +++ b/.github/workflows/ci-pull-requests.yml @@ -11,7 +11,7 @@ jobs: name: Install & Build runs-on: blacksmith-2vcpu-ubuntu-2204 env: - NODE_OPTIONS: '--max-old-space-size=4096' + NODE_OPTIONS: '--max-old-space-size=3072' outputs: frontend_changed: ${{ steps.paths-filter.outputs.frontend == 'true' }} steps: diff --git a/.github/workflows/docker-build-push.yml b/.github/workflows/docker-build-push.yml index d058818caa..5f1127e608 100644 --- a/.github/workflows/docker-build-push.yml +++ b/.github/workflows/docker-build-push.yml @@ -7,7 +7,7 @@ name: 'Docker: Build and Push' env: - NODE_OPTIONS: '--max-old-space-size=8192' + NODE_OPTIONS: '--max-old-space-size=7168' on: schedule: diff --git a/.github/workflows/e2e-reusable.yml b/.github/workflows/e2e-reusable.yml index b7fde6ceea..75b9a28bb5 100644 --- a/.github/workflows/e2e-reusable.yml +++ b/.github/workflows/e2e-reusable.yml @@ -45,7 +45,7 @@ on: required: true env: - NODE_OPTIONS: --max-old-space-size=4096 + NODE_OPTIONS: --max-old-space-size=3072 jobs: testing: diff --git a/.github/workflows/linting-reusable.yml b/.github/workflows/linting-reusable.yml index d7322df5d8..4d89d34ffd 100644 --- a/.github/workflows/linting-reusable.yml +++ b/.github/workflows/linting-reusable.yml @@ -15,7 +15,7 @@ on: default: 22.x env: - NODE_OPTIONS: --max-old-space-size=8192 + NODE_OPTIONS: --max-old-space-size=7168 jobs: lint: diff --git a/.github/workflows/playwright-test-reusable.yml b/.github/workflows/playwright-test-reusable.yml index 24683de640..ec36be0617 100644 --- a/.github/workflows/playwright-test-reusable.yml +++ b/.github/workflows/playwright-test-reusable.yml @@ -25,7 +25,7 @@ on: env: PLAYWRIGHT_BROWSERS_PATH: packages/testing/playwright/ms-playwright-cache - NODE_OPTIONS: --max-old-space-size=4096 + NODE_OPTIONS: --max-old-space-size=3072 # Disable Ryuk to avoid issues with Docker since it needs privileged access, containers are cleaned on teardown anyway TESTCONTAINERS_RYUK_DISABLED: true diff --git a/.github/workflows/test-workflows-callable.yml b/.github/workflows/test-workflows-callable.yml index a9e250252d..398f8bce82 100644 --- a/.github/workflows/test-workflows-callable.yml +++ b/.github/workflows/test-workflows-callable.yml @@ -29,7 +29,7 @@ on: required: false env: - NODE_OPTIONS: --max-old-space-size=4096 + NODE_OPTIONS: --max-old-space-size=3072 jobs: build_and_test: diff --git a/.github/workflows/units-tests-reusable.yml b/.github/workflows/units-tests-reusable.yml index dcdf4a1a7d..6d96f16453 100644 --- a/.github/workflows/units-tests-reusable.yml +++ b/.github/workflows/units-tests-reusable.yml @@ -23,7 +23,7 @@ on: required: false env: - NODE_OPTIONS: --max-old-space-size=8192 + NODE_OPTIONS: --max-old-space-size=7168 jobs: unit-test: @@ -36,12 +36,14 @@ jobs: with: ref: ${{ inputs.ref }} - - name: Build and Test + - name: Build uses: n8n-io/n8n/.github/actions/setup-nodejs-blacksmith@f5fbbbe0a28a886451c886cac6b49192a39b0eea # v1.104.1 with: - build-command: pnpm test:ci node-version: ${{ inputs.nodeVersion }} + - name: Test + run: pnpm test:ci + - name: Upload test results to Codecov if: ${{ !cancelled() }} uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1