name: CI Server on: push: branches: - main paths: - 'package.json' - 'packages/twenty-server/**' - 'packages/twenty-emails/**' pull_request: paths: - 'package.json' - 'packages/twenty-server/**' - 'packages/twenty-emails/**' concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: server-test: runs-on: ubuntu-latest env: NX_REJECT_UNKNOWN_LOCAL_CACHE: 0 services: postgres: image: twentycrm/twenty-postgres env: POSTGRES_PASSWORD: postgres POSTGRES_USER: postgres ports: - 5432:5432 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: Server / Restore Tasks Cache uses: ./.github/workflows/actions/task-cache with: tag: scope:backend - name: Server / Run lint & typecheck uses: ./.github/workflows/actions/nx-affected with: tag: scope:backend tasks: lint,typecheck - name: Server / Run tests uses: ./.github/workflows/actions/nx-affected with: tag: scope:backend tasks: test - name: Server / Build run: npx nx build twenty-server - name: Server / Write .env run: npx nx reset:env twenty-server - name: Worker / Run run: MESSAGE_QUEUE_TYPE=sync npx nx worker twenty-server