diff --git a/.github/docker-compose.yml b/.github/docker-compose.yml index 23e92d5b7e..b299d21a75 100644 --- a/.github/docker-compose.yml +++ b/.github/docker-compose.yml @@ -9,10 +9,6 @@ services: - 3306:3306 tmpfs: - /var/lib/mysql - command: > - --wait-timeout=300 - --interactive-timeout=300 - --max-connections=200 mysql-8.4: image: mysql:8.4 @@ -23,10 +19,6 @@ services: - 3306:3306 tmpfs: - /var/lib/mysql - command: > - --wait-timeout=300 - --interactive-timeout=300 - --max-connections=200 postgres: image: postgres:16 diff --git a/.github/workflows/ci-postgres-mysql.yml b/.github/workflows/ci-postgres-mysql.yml index c740a77bdb..fbf9cb92d1 100644 --- a/.github/workflows/ci-postgres-mysql.yml +++ b/.github/workflows/ci-postgres-mysql.yml @@ -66,6 +66,7 @@ jobs: DB_MYSQLDB_CONNECTION_TIMEOUT: 120000 DB_MYSQLDB_ACQUIRE_TIMEOUT: 120000 DB_MYSQLDB_TIMEOUT: 120000 + NODE_OPTIONS: '--max-old-space-size=7168' steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 @@ -86,7 +87,7 @@ jobs: mysql: name: MySQL 8.4 needs: build - runs-on: blacksmith-4vcpu-ubuntu-2204 + runs-on: blacksmith-2vcpu-ubuntu-2204 timeout-minutes: 20 env: DB_MYSQLDB_PASSWORD: password diff --git a/packages/cli/jest.config.integration.js b/packages/cli/jest.config.integration.js index ec81657308..a957605886 100644 --- a/packages/cli/jest.config.integration.js +++ b/packages/cli/jest.config.integration.js @@ -14,6 +14,8 @@ module.exports = { coveragePathIgnorePatterns: ['/src/databases/migrations/'], testTimeout: 10_000, prettierPath: null, - // Only run integration tests - exclude unit tests in src/ - testPathIgnorePatterns: ['/dist/', '/node_modules/', '/src/'], + // Run integration tests from both test/integration and src/ directories + testRegex: undefined, // Override base config testRegex + testMatch: ['/test/integration/**/*.test.ts', '/src/**/*.integration.test.ts'], + testPathIgnorePatterns: ['/dist/', '/node_modules/'], }; diff --git a/packages/cli/package.json b/packages/cli/package.json index 1a109ffe36..a4ba58a047 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -25,7 +25,7 @@ "test:sqlite": "N8N_LOG_LEVEL=silent DB_TYPE=sqlite jest --config=jest.config.integration.js --no-coverage", "test:postgres": "N8N_LOG_LEVEL=silent DB_TYPE=postgresdb DB_POSTGRESDB_SCHEMA=alt_schema DB_TABLE_PREFIX=test_ jest --config=jest.config.integration.js --no-coverage", "test:mariadb": "N8N_LOG_LEVEL=silent DB_TYPE=mariadb DB_TABLE_PREFIX=test_ jest --config=jest.config.integration.js --no-coverage", - "test:mysql": "N8N_LOG_LEVEL=silent DB_TYPE=mysqldb DB_TABLE_PREFIX=test_ jest --config=jest.config.integration.js --no-coverage", + "test:mysql": "N8N_LOG_LEVEL=silent DB_TYPE=mysqldb DB_TABLE_PREFIX=test_ jest --config=jest.config.integration.js --no-coverage --maxWorkers=1", "test:win": "pnpm test:sqlite:win", "test:dev:win": "set N8N_LOG_LEVEL=silent&& set DB_TYPE=sqlite&& jest --watch", "test:sqlite:win": "set N8N_LOG_LEVEL=silent&& set DB_TYPE=sqlite&& jest --config=jest.config.integration.js", diff --git a/packages/cli/src/databases/repositories/__tests__/folder.repository.test.ts b/packages/cli/src/databases/repositories/__tests__/folder.repository.integration.test.ts similarity index 100% rename from packages/cli/src/databases/repositories/__tests__/folder.repository.test.ts rename to packages/cli/src/databases/repositories/__tests__/folder.repository.integration.test.ts diff --git a/packages/cli/src/databases/repositories/__tests__/workflow-statistics.test.ts b/packages/cli/src/databases/repositories/__tests__/workflow-statistics.integration.test.ts similarity index 100% rename from packages/cli/src/databases/repositories/__tests__/workflow-statistics.test.ts rename to packages/cli/src/databases/repositories/__tests__/workflow-statistics.integration.test.ts diff --git a/packages/cli/src/execution-lifecycle/__tests__/to-save-settings.test.ts b/packages/cli/src/execution-lifecycle/__tests__/to-save-settings.integration.test.ts similarity index 100% rename from packages/cli/src/execution-lifecycle/__tests__/to-save-settings.test.ts rename to packages/cli/src/execution-lifecycle/__tests__/to-save-settings.integration.test.ts diff --git a/packages/cli/src/executions/__tests__/execution-recovery.service.test.ts b/packages/cli/src/executions/__tests__/execution-recovery.service.integration.test.ts similarity index 100% rename from packages/cli/src/executions/__tests__/execution-recovery.service.test.ts rename to packages/cli/src/executions/__tests__/execution-recovery.service.integration.test.ts diff --git a/packages/cli/src/modules/data-table/__tests__/data-store-aggregate.controller.test.ts b/packages/cli/src/modules/data-table/__tests__/data-store-aggregate.controller.integration.test.ts similarity index 100% rename from packages/cli/src/modules/data-table/__tests__/data-store-aggregate.controller.test.ts rename to packages/cli/src/modules/data-table/__tests__/data-store-aggregate.controller.integration.test.ts diff --git a/packages/cli/src/modules/data-table/__tests__/data-store-aggregate.service.test.ts b/packages/cli/src/modules/data-table/__tests__/data-store-aggregate.service.integration.test.ts similarity index 100% rename from packages/cli/src/modules/data-table/__tests__/data-store-aggregate.service.test.ts rename to packages/cli/src/modules/data-table/__tests__/data-store-aggregate.service.integration.test.ts diff --git a/packages/cli/src/modules/data-table/__tests__/data-store-filters.test.ts b/packages/cli/src/modules/data-table/__tests__/data-store-filters.integration.test.ts similarity index 100% rename from packages/cli/src/modules/data-table/__tests__/data-store-filters.test.ts rename to packages/cli/src/modules/data-table/__tests__/data-store-filters.integration.test.ts diff --git a/packages/cli/src/modules/data-table/__tests__/data-store-proxy.service.test.ts b/packages/cli/src/modules/data-table/__tests__/data-store-proxy.service.integration.test.ts similarity index 100% rename from packages/cli/src/modules/data-table/__tests__/data-store-proxy.service.test.ts rename to packages/cli/src/modules/data-table/__tests__/data-store-proxy.service.integration.test.ts diff --git a/packages/cli/src/modules/data-table/__tests__/data-store-size.test.ts b/packages/cli/src/modules/data-table/__tests__/data-store-size.integration.test.ts similarity index 100% rename from packages/cli/src/modules/data-table/__tests__/data-store-size.test.ts rename to packages/cli/src/modules/data-table/__tests__/data-store-size.integration.test.ts diff --git a/packages/cli/src/modules/data-table/__tests__/data-store.controller.test.ts b/packages/cli/src/modules/data-table/__tests__/data-store.controller.integration.test.ts similarity index 100% rename from packages/cli/src/modules/data-table/__tests__/data-store.controller.test.ts rename to packages/cli/src/modules/data-table/__tests__/data-store.controller.integration.test.ts diff --git a/packages/cli/src/modules/data-table/__tests__/data-store.service.test.ts b/packages/cli/src/modules/data-table/__tests__/data-store.service.integration.test.ts similarity index 99% rename from packages/cli/src/modules/data-table/__tests__/data-store.service.test.ts rename to packages/cli/src/modules/data-table/__tests__/data-store.service.integration.test.ts index 0b73f703fa..48c535cc46 100644 --- a/packages/cli/src/modules/data-table/__tests__/data-store.service.test.ts +++ b/packages/cli/src/modules/data-table/__tests__/data-store.service.integration.test.ts @@ -50,7 +50,6 @@ describe('dataStore', () => { }); afterEach(async () => { - // Clean up any created user data stores await dataStoreService.deleteDataStoreAll(); }); diff --git a/packages/cli/src/modules/insights/__tests__/insights-collection.service.test.ts b/packages/cli/src/modules/insights/__tests__/insights-collection.service.integration.test.ts similarity index 100% rename from packages/cli/src/modules/insights/__tests__/insights-collection.service.test.ts rename to packages/cli/src/modules/insights/__tests__/insights-collection.service.integration.test.ts diff --git a/packages/cli/src/modules/insights/__tests__/insights-compaction.service.test.ts b/packages/cli/src/modules/insights/__tests__/insights-compaction.service.integration.test.ts similarity index 100% rename from packages/cli/src/modules/insights/__tests__/insights-compaction.service.test.ts rename to packages/cli/src/modules/insights/__tests__/insights-compaction.service.integration.test.ts diff --git a/packages/cli/src/modules/insights/__tests__/insights-pruning.service.test.ts b/packages/cli/src/modules/insights/__tests__/insights-pruning.service.integration.test.ts similarity index 100% rename from packages/cli/src/modules/insights/__tests__/insights-pruning.service.test.ts rename to packages/cli/src/modules/insights/__tests__/insights-pruning.service.integration.test.ts diff --git a/packages/cli/src/modules/insights/__tests__/insights.service.test.ts b/packages/cli/src/modules/insights/__tests__/insights.service.integration.test.ts similarity index 100% rename from packages/cli/src/modules/insights/__tests__/insights.service.test.ts rename to packages/cli/src/modules/insights/__tests__/insights.service.integration.test.ts diff --git a/packages/cli/src/modules/insights/database/entities/__tests__/insights-by-period.test.ts b/packages/cli/src/modules/insights/database/entities/__tests__/insights-by-period.integration.test.ts similarity index 100% rename from packages/cli/src/modules/insights/database/entities/__tests__/insights-by-period.test.ts rename to packages/cli/src/modules/insights/database/entities/__tests__/insights-by-period.integration.test.ts diff --git a/packages/cli/src/modules/insights/database/entities/__tests__/insights-raw.test.ts b/packages/cli/src/modules/insights/database/entities/__tests__/insights-raw.integration.test.ts similarity index 100% rename from packages/cli/src/modules/insights/database/entities/__tests__/insights-raw.test.ts rename to packages/cli/src/modules/insights/database/entities/__tests__/insights-raw.integration.test.ts diff --git a/packages/cli/src/modules/insights/database/repositories/__tests__/insights-by-period.repository.test.ts b/packages/cli/src/modules/insights/database/repositories/__tests__/insights-by-period.repository.integration.test.ts similarity index 100% rename from packages/cli/src/modules/insights/database/repositories/__tests__/insights-by-period.repository.test.ts rename to packages/cli/src/modules/insights/database/repositories/__tests__/insights-by-period.repository.integration.test.ts diff --git a/packages/cli/src/services/__tests__/password.utility.test.ts b/packages/cli/src/services/__tests__/password.utility.integration.test.ts similarity index 100% rename from packages/cli/src/services/__tests__/password.utility.test.ts rename to packages/cli/src/services/__tests__/password.utility.integration.test.ts diff --git a/packages/cli/src/services/__tests__/public-api-key.service.test.ts b/packages/cli/src/services/__tests__/public-api-key.service.integration.test.ts similarity index 100% rename from packages/cli/src/services/__tests__/public-api-key.service.test.ts rename to packages/cli/src/services/__tests__/public-api-key.service.integration.test.ts diff --git a/packages/cli/src/services/__tests__/workflow-statistics.service.test.ts b/packages/cli/src/services/__tests__/workflow-statistics.service.integration.test.ts similarity index 100% rename from packages/cli/src/services/__tests__/workflow-statistics.service.test.ts rename to packages/cli/src/services/__tests__/workflow-statistics.service.integration.test.ts