From 29f7b747562efc1c6f1097b218c8815cf2729d70 Mon Sep 17 00:00:00 2001 From: Antoine Moreaux Date: Mon, 7 Jul 2025 18:06:25 +0200 Subject: [PATCH] =?UTF-8?q?fix(ci):=20reorganize=20workflow=20steps=20and?= =?UTF-8?q?=20move=20cache=20saving=20to=20correct=20s=E2=80=A6=20(#13083)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …tage --- .github/workflows/ci-server.yaml | 44 ++++++++++--------- .../src/generated-metadata/graphql.ts | 1 + .../twenty-front/src/generated/graphql.ts | 1 + packages/twenty-server/project.json | 7 +++ .../enums/feature-flag-key.enum.ts | 1 + 5 files changed, 33 insertions(+), 21 deletions(-) diff --git a/.github/workflows/ci-server.yaml b/.github/workflows/ci-server.yaml index 046ffcece..299f57d76 100644 --- a/.github/workflows/ci-server.yaml +++ b/.github/workflows/ci-server.yaml @@ -20,6 +20,8 @@ jobs: files: | package.json packages/twenty-server/** + packages/twenty-front/src/generated/** + packages/twenty-front/src/generated-metadata/** packages/twenty-emails/** packages/twenty-shared/** server-setup: @@ -67,10 +69,10 @@ jobs: with: tag: scope:backend tasks: lint,typecheck - - name: Server / Build - run: npx nx build twenty-server - name: Server / Write .env run: npx nx reset:env twenty-server + - name: Server / Build + run: npx nx build twenty-server - name: Server / Create DB run: | PGPASSWORD=postgres psql -h localhost -p 5432 -U postgres -d postgres -c 'CREATE DATABASE "default";' @@ -87,6 +89,20 @@ jobs: # If worker failed for other reasons, fail the build exit $exit_code fi + - name: Server / Start + run: npx nx start:ci twenty-server & + - name: Waiting for server starting... + run: | + for i in {1..10}; do + if curl -f http://localhost:3000/healthz; then + echo "Server ready!" + exit 0 + fi + echo "Waiting..." + sleep 2 + done + echo "Server did not become healthy in time" >&2 + exit 1 - name: Server / Check for Pending Migrations run: | CORE_MIGRATION_OUTPUT=$(npx nx run twenty-server:typeorm migration:generate core-migration-check -d src/database/typeorm/core/core.datasource.ts || true) @@ -101,23 +117,6 @@ jobs: exit 1 fi - - name: Save server setup - uses: ./.github/workflows/actions/save-cache - with: - key: ${{ steps.restore-server-setup-cache.outputs.cache-primary-key }} - - graphql-check: - timeout-minutes: 10 - runs-on: depot-ubuntu-24.04-8 - needs: [server-setup, changed-files-check] - if: needs.changed-files-check.outputs.any_changed == 'true' - steps: - - name: Fetch custom Github Actions and base branch history - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: Install dependencies - uses: ./.github/workflows/actions/yarn-install - name: GraphQL / Check for Pending Generation run: | # Run GraphQL generation commands @@ -129,7 +128,10 @@ jobs: echo "::error::GraphQL schema changes detected. Please run 'npx nx run twenty-front:graphql:generate' and 'npx nx run twenty-front:graphql:generate --configuration=metadata' and commit the changes." exit 1 fi - + - name: Save server setup + uses: ./.github/workflows/actions/save-cache + with: + key: ${{ steps.restore-server-setup-cache.outputs.cache-primary-key }} server-test: timeout-minutes: 30 runs-on: depot-ubuntu-24.04-8 @@ -242,7 +244,7 @@ jobs: if: always() && !cancelled() timeout-minutes: 5 runs-on: depot-ubuntu-24.04-8 - needs: [changed-files-check, server-setup, graphql-check, server-test, server-integration-test] + needs: [changed-files-check, server-setup, server-test, server-integration-test] steps: - name: Fail job if any needs failed if: contains(needs.*.result, 'failure') diff --git a/packages/twenty-front/src/generated-metadata/graphql.ts b/packages/twenty-front/src/generated-metadata/graphql.ts index 1a832ec55..bf364e63b 100644 --- a/packages/twenty-front/src/generated-metadata/graphql.ts +++ b/packages/twenty-front/src/generated-metadata/graphql.ts @@ -2561,6 +2561,7 @@ export type UserWorkspace = { createdAt: Scalars['DateTime']; deletedAt?: Maybe; id: Scalars['UUID']; + locale: Scalars['String']; objectPermissions?: Maybe>; /** @deprecated Use objectPermissions instead */ objectRecordsPermissions?: Maybe>; diff --git a/packages/twenty-front/src/generated/graphql.ts b/packages/twenty-front/src/generated/graphql.ts index c587db4c7..c99eb5678 100644 --- a/packages/twenty-front/src/generated/graphql.ts +++ b/packages/twenty-front/src/generated/graphql.ts @@ -2389,6 +2389,7 @@ export type UserWorkspace = { createdAt: Scalars['DateTime']; deletedAt?: Maybe; id: Scalars['UUID']; + locale: Scalars['String']; objectPermissions?: Maybe>; /** @deprecated Use objectPermissions instead */ objectRecordsPermissions?: Maybe>; diff --git a/packages/twenty-server/project.json b/packages/twenty-server/project.json index b3c808ed5..f29243982 100644 --- a/packages/twenty-server/project.json +++ b/packages/twenty-server/project.json @@ -49,6 +49,13 @@ "command": "NODE_ENV=development && nest start --watch" } }, + "start:ci": { + "executor": "nx:run-commands", + "options": { + "cwd": "packages/twenty-server", + "command": "NODE_ENV=development && nest start" + } + }, "start:debug": { "executor": "nx:run-commands", "dependsOn": ["build"], diff --git a/packages/twenty-server/src/engine/core-modules/feature-flag/enums/feature-flag-key.enum.ts b/packages/twenty-server/src/engine/core-modules/feature-flag/enums/feature-flag-key.enum.ts index c266e75cf..b4ac0175a 100644 --- a/packages/twenty-server/src/engine/core-modules/feature-flag/enums/feature-flag-key.enum.ts +++ b/packages/twenty-server/src/engine/core-modules/feature-flag/enums/feature-flag-key.enum.ts @@ -3,6 +3,7 @@ export enum FeatureFlagKey { IS_POSTGRESQL_INTEGRATION_ENABLED = 'IS_POSTGRESQL_INTEGRATION_ENABLED', IS_STRIPE_INTEGRATION_ENABLED = 'IS_STRIPE_INTEGRATION_ENABLED', IS_UNIQUE_INDEXES_ENABLED = 'IS_UNIQUE_INDEXES_ENABLED', + IS_JSON_FILTER_ENABLED = 'IS_JSON_FILTER_ENABLED', IS_AI_ENABLED = 'IS_AI_ENABLED', IS_IMAP_ENABLED = 'IS_IMAP_ENABLED', IS_WORKFLOW_FILTERING_ENABLED = 'IS_WORKFLOW_FILTERING_ENABLED',