Save Markdown and BlockNote in RICH_TEXT fields (#7613) #254
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI E2E Tests | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
if: github.event_name == 'push' || (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'run-e2e')) | |
timeout-minutes: 30 | |
env: | |
NX_REJECT_UNKNOWN_LOCAL_CACHE: 0 | |
# https://github.com/actions/runner-images/issues/70#issuecomment-589562148 | |
NODE_OPTIONS: "--max-old-space-size=10240" | |
services: | |
postgres: | |
image: twentycrm/twenty-postgres-spilo | |
env: | |
PGUSER_SUPERUSER: postgres | |
PGPASSWORD_SUPERUSER: postgres | |
ALLOW_NOSSL: "true" | |
SPILO_PROVIDER: "local" | |
ports: | |
- 5432:5432 | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
redis: | |
image: redis | |
ports: | |
- 6379:6379 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: lts/* | |
- name: Check system resources | |
run: | | |
echo "Available memory:" | |
free -h | |
echo "Available disk space:" | |
df -h | |
echo "CPU info:" | |
lscpu | |
- name: Check for changed files | |
id: changed-files | |
uses: tj-actions/changed-files@v11 | |
with: | |
files: | | |
packages/** | |
playwright.config.ts | |
.github/workflows/ci-e2e.yml | |
- name: Skip if no relevant changes | |
if: steps.changed-files.outputs.any_changed == 'false' | |
run: echo "No relevant changes detected. Marking as valid." | |
- name: Install dependencies | |
if: steps.changed-files.outputs.any_changed == 'true' | |
uses: ./.github/workflows/actions/yarn-install | |
- name: Build twenty-shared | |
if: steps.changed-files.outputs.any_changed == 'true' | |
run: npx nx build twenty-shared | |
- name: Setup environment files | |
if: steps.changed-files.outputs.any_changed == 'true' | |
run: | | |
cp packages/twenty-e2e-testing/.env.example packages/twenty-e2e-testing/.env | |
cp packages/twenty-front/.env.example packages/twenty-front/.env | |
cp packages/twenty-e2e-testing/.env.example packages/twenty-e2e-testing/.env | |
npx nx reset:env twenty-server | |
- name: Build frontend | |
if: steps.changed-files.outputs.any_changed == 'true' | |
run: NODE_ENV=production NODE_OPTIONS="--max-old-space-size=10240" npx nx build twenty-front | |
- name: Build server | |
if: steps.changed-files.outputs.any_changed == 'true' | |
run: NODE_ENV=production npx nx build twenty-server | |
- name: Create and setup database | |
if: steps.changed-files.outputs.any_changed == 'true' | |
run: | | |
PGPASSWORD=postgres psql -h localhost -p 5432 -U postgres -d postgres -c 'CREATE DATABASE "default";' | |
PGPASSWORD=postgres psql -h localhost -p 5432 -U postgres -d postgres -c 'CREATE DATABASE "test";' | |
npx nx run twenty-server:database:reset | |
- name: Start server | |
if: steps.changed-files.outputs.any_changed == 'true' | |
run: | | |
npx nx start twenty-server & | |
echo "Waiting for server to be ready..." | |
timeout 60 bash -c 'until curl -s http://localhost:3000/health; do sleep 2; done' | |
- name: Start frontend | |
if: steps.changed-files.outputs.any_changed == 'true' | |
run: | | |
npm_config_yes=true npx serve -s packages/twenty-front/build -l 3001 & | |
echo "Waiting for frontend to be ready..." | |
timeout 60 bash -c 'until curl -s http://localhost:3001; do sleep 2; done' | |
- name: Start worker | |
if: steps.changed-files.outputs.any_changed == 'true' | |
run: | | |
npx nx run twenty-server:worker:ci & | |
echo "Worker started" | |
- name: Install Playwright Browsers | |
if: steps.changed-files.outputs.any_changed == 'true' | |
run: npx nx setup twenty-e2e-testing | |
- name: Run Playwright tests | |
if: steps.changed-files.outputs.any_changed == 'true' | |
run: npx nx test twenty-e2e-testing | |
- uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: playwright-report | |
path: packages/twenty-e2e-testing/run_results/ | |
retention-days: 30 | |
- uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: playwright-report | |
path: packages/twenty-e2e-testing/playwright-report/ | |
retention-days: 30 |