Skip to content

Commit 20949ee

Browse files
Merge branch 'main' into fix/prevent-unexpected-navigation-when-destroying-record-from-side-panel
2 parents eb43a57 + ca63904 commit 20949ee

4,700 files changed

Lines changed: 140039 additions & 75570 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/cd-deploy-tag.yaml

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,43 @@ permissions:
66
on:
77
push:
88
tags:
9-
- 'v*'
9+
- 'twenty/v*'
10+
- 'sdk/v*'
11+
12+
defaults:
13+
run:
14+
shell: bash --noprofile --norc -euo pipefail {0}
1015

1116
jobs:
12-
deploy-tag:
17+
dispatch-tag:
1318
timeout-minutes: 3
1419
runs-on: ubuntu-latest
1520
steps:
21+
- name: Resolve dispatch event from tag family
22+
id: target
23+
env:
24+
REF_NAME: ${{ github.ref_name }}
25+
run: |
26+
case "$REF_NAME" in
27+
twenty/v*)
28+
event_type=auto-deploy-twenty
29+
;;
30+
sdk/v*)
31+
event_type=auto-publish-npm
32+
;;
33+
*)
34+
echo "Unsupported tag '$REF_NAME', expected 'twenty/v*' or 'sdk/v*'." >&2
35+
exit 1
36+
;;
37+
esac
38+
printf 'event_type=%s\n' "$event_type" >> "$GITHUB_OUTPUT"
39+
1640
- name: Repository Dispatch
1741
env:
1842
GH_TOKEN: ${{ secrets.TWENTY_INFRA_TOKEN }}
43+
EVENT_TYPE: ${{ steps.target.outputs.event_type }}
1944
REF_NAME: ${{ github.ref_name }}
2045
run: |
2146
gh api repos/twentyhq/twenty-infra/dispatches \
22-
-f event_type=auto-deploy-tag \
47+
-f "event_type=$EVENT_TYPE" \
2348
-f "client_payload[github][ref_name]=$REF_NAME"
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: CI Codex Plugin
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
pull_request:
9+
10+
permissions:
11+
contents: read
12+
13+
concurrency:
14+
group: ${{ github.workflow }}-${{ github.ref }}
15+
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
16+
17+
jobs:
18+
changed-files-check:
19+
uses: ./.github/workflows/changed-files.yaml
20+
with:
21+
files: |
22+
package.json
23+
packages/twenty-codex-plugin/**
24+
.github/workflows/ci-codex-plugin.yaml
25+
26+
codex-plugin-validate:
27+
needs: changed-files-check
28+
if: needs.changed-files-check.outputs.any_changed == 'true'
29+
timeout-minutes: 10
30+
runs-on: ubuntu-latest
31+
steps:
32+
- name: Fetch local actions
33+
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
34+
with:
35+
fetch-depth: 10
36+
37+
- name: Install dependencies
38+
uses: ./.github/actions/yarn-install
39+
40+
- name: Codex Plugin / Validate
41+
run: npx nx run twenty-codex-plugin:validate
42+
43+
- name: Codex Plugin / Test
44+
run: npx nx run twenty-codex-plugin:test

.github/workflows/ci-create-app-e2e-minimal.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ jobs:
120120
echo "--- Checking package.json references correct SDK version ---"
121121
node -e "
122122
const pkg = require('./package.json');
123-
const sdkVersion = pkg.dependencies['twenty-sdk'];
123+
const sdkVersion = pkg.devDependencies['twenty-sdk'];
124124
if (!sdkVersion.startsWith('0.0.0-ci.')) {
125125
console.error('Expected twenty-sdk version to start with 0.0.0-ci., got:', sdkVersion);
126126
process.exit(1);

.github/workflows/ci-front.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ jobs:
2727
packages/twenty-front/**
2828
packages/twenty-front-component-renderer/**
2929
packages/twenty-ui/**
30+
packages/twenty-ui-deprecated/**
3031
packages/twenty-shared/**
3132
packages/twenty-sdk/**
3233
!packages/twenty-sdk/package.json
@@ -90,6 +91,7 @@ jobs:
9091
run: |
9192
npx nx build twenty-shared
9293
npx nx build twenty-ui
94+
npx nx build twenty-ui-deprecated
9395
npx nx build twenty-front-component-renderer
9496
- name: Download storybook build
9597
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0

.github/workflows/ci-new-ui.yaml

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
name: CI New UI
2+
3+
on:
4+
pull_request:
5+
merge_group:
6+
push:
7+
branches: [main]
8+
9+
permissions:
10+
contents: read
11+
12+
concurrency:
13+
group: ${{ github.workflow }}-${{ github.ref }}
14+
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
15+
16+
jobs:
17+
changed-files-check:
18+
if: github.event_name == 'pull_request'
19+
uses: ./.github/workflows/changed-files.yaml
20+
with:
21+
files: |
22+
package.json
23+
yarn.lock
24+
packages/twenty-ui/**
25+
packages/twenty-shared/**
26+
new-ui-task:
27+
needs: changed-files-check
28+
if: needs.changed-files-check.outputs.any_changed == 'true'
29+
timeout-minutes: 30
30+
runs-on: ubuntu-latest
31+
strategy:
32+
matrix:
33+
task: [lint, typecheck, test]
34+
steps:
35+
- name: Fetch custom Github Actions and base branch history
36+
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
37+
with:
38+
fetch-depth: 10
39+
- name: Install dependencies
40+
uses: ./.github/actions/yarn-install
41+
- name: Run ${{ matrix.task }}
42+
run: npx nx ${{ matrix.task }} twenty-ui
43+
new-ui-sb-build:
44+
needs: changed-files-check
45+
if: >-
46+
always() &&
47+
(github.event_name == 'push' ||
48+
needs.changed-files-check.outputs.any_changed == 'true')
49+
timeout-minutes: 30
50+
runs-on: ubuntu-latest
51+
steps:
52+
- name: Fetch custom Github Actions and base branch history
53+
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
54+
with:
55+
fetch-depth: 10
56+
- name: Install dependencies
57+
uses: ./.github/actions/yarn-install
58+
- name: Build storybook
59+
run: npx nx storybook:build twenty-ui
60+
- name: Upload storybook build
61+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
62+
with:
63+
name: storybook-twenty-new-ui
64+
path: packages/twenty-ui/storybook-static
65+
retention-days: 1
66+
new-ui-sb-test:
67+
timeout-minutes: 30
68+
runs-on: ubuntu-latest
69+
needs: new-ui-sb-build
70+
if: always() && needs.new-ui-sb-build.result == 'success'
71+
steps:
72+
- name: Fetch custom Github Actions and base branch history
73+
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
74+
with:
75+
fetch-depth: 10
76+
- name: Install dependencies
77+
uses: ./.github/actions/yarn-install
78+
- name: Build dependencies
79+
run: npx nx build twenty-shared
80+
- name: Download storybook build
81+
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
82+
with:
83+
name: storybook-twenty-new-ui
84+
path: packages/twenty-ui/storybook-static
85+
- name: Install Playwright
86+
run: |
87+
cd packages/twenty-ui
88+
npx playwright install
89+
- name: Run storybook tests
90+
run: npx nx storybook:test twenty-ui
91+
- name: Upload screenshots for visual regression
92+
if: always() && !cancelled()
93+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
94+
with:
95+
name: argos-screenshots-twenty-new-ui
96+
path: packages/twenty-ui/screenshots
97+
retention-days: 1
98+
ci-new-ui-status-check:
99+
if: always() && !cancelled()
100+
timeout-minutes: 5
101+
runs-on: ubuntu-latest
102+
needs: [changed-files-check, new-ui-task, new-ui-sb-build, new-ui-sb-test]
103+
steps:
104+
- name: Fail job if any needs failed
105+
if: contains(needs.*.result, 'failure')
106+
run: exit 1

.github/workflows/ci-release-merge.yaml

Lines changed: 0 additions & 63 deletions
This file was deleted.

.github/workflows/ci-test-docker-compose.yaml

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,12 @@ jobs:
2727
steps:
2828
- name: Checkout
2929
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
30-
- name: Login to Docker Hub
31-
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0
32-
with:
33-
username: ${{ vars.DOCKERHUB_USERNAME }}
34-
password: ${{ secrets.DOCKERHUB_PASSWORD }}
30+
# Pull base images through Google's Docker Hub mirror — avoids Docker Hub
31+
# rate limits and needs no credentials (this repo is public).
32+
- name: Configure Docker Hub mirror
33+
run: |
34+
echo '{"registry-mirrors":["https://mirror.gcr.io"]}' | sudo tee /etc/docker/daemon.json
35+
sudo systemctl restart docker
3536
- name: Run compose
3637
run: |
3738
echo "Patching docker-compose.yml..."
@@ -102,11 +103,12 @@ jobs:
102103
steps:
103104
- name: Checkout
104105
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
105-
- name: Login to Docker Hub
106-
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0
107-
with:
108-
username: ${{ vars.DOCKERHUB_USERNAME }}
109-
password: ${{ secrets.DOCKERHUB_PASSWORD }}
106+
# Pull base images through Google's Docker Hub mirror — avoids Docker Hub
107+
# rate limits and needs no credentials (this repo is public).
108+
- name: Configure Docker Hub mirror
109+
run: |
110+
echo '{"registry-mirrors":["https://mirror.gcr.io"]}' | sudo tee /etc/docker/daemon.json
111+
sudo systemctl restart docker
110112
- name: Create frontend placeholder
111113
run: |
112114
mkdir -p packages/twenty-front/build

0 commit comments

Comments
 (0)