diff --git a/.github/workflows/ci-website.yaml b/.github/workflows/ci-website.yaml new file mode 100644 index 0000000000..85b7ba1e13 --- /dev/null +++ b/.github/workflows/ci-website.yaml @@ -0,0 +1,58 @@ +name: CI Website + +on: + pull_request: + merge_group: + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} + +jobs: + changed-files-check: + if: github.event_name != 'merge_group' + uses: ./.github/workflows/changed-files.yaml + with: + files: | + package.json + yarn.lock + packages/twenty-website-new/** + packages/twenty-shared/** + website-task: + needs: changed-files-check + if: needs.changed-files-check.outputs.any_changed == 'true' + timeout-minutes: 30 + runs-on: ubuntu-latest + env: + NODE_OPTIONS: '--max-old-space-size=6144' + strategy: + matrix: + task: [lint, typecheck, test] + steps: + - name: Cancel Previous Runs + uses: styfle/cancel-workflow-action@0.11.0 + with: + access_token: ${{ github.token }} + - name: Fetch custom Github Actions and base branch history + uses: actions/checkout@v4 + with: + fetch-depth: 10 + - name: Install dependencies + uses: ./.github/actions/yarn-install + - name: Run ${{ matrix.task }} task + uses: ./.github/actions/nx-affected + with: + tag: scope:website + tasks: ${{ matrix.task }} + ci-website-status-check: + if: always() && !cancelled() + timeout-minutes: 5 + runs-on: ubuntu-latest + needs: [changed-files-check, website-task] + steps: + - name: Fail job if any needs failed + if: contains(needs.*.result, 'failure') + run: exit 1