name: CI People Data Labs on: push: branches: - main pull_request: workflow_dispatch: permissions: contents: read concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} jobs: changed-files-check: uses: ./.github/workflows/changed-files.yaml with: files: | packages/twenty-apps/internal/people-data-labs/** .github/workflows/ci-people-data-labs.yaml people-data-labs: needs: changed-files-check if: needs.changed-files-check.outputs.any_changed == 'true' timeout-minutes: 15 runs-on: ubuntu-latest defaults: run: working-directory: packages/twenty-apps/internal/people-data-labs steps: - name: Checkout uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 - name: Enable Corepack run: corepack enable - name: Setup Node.js uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version: '24' cache: yarn cache-dependency-path: packages/twenty-apps/internal/people-data-labs/yarn.lock - name: Install dependencies run: yarn install --immutable - name: Run linter run: yarn lint - name: Run typecheck run: yarn typecheck - name: Run tests run: yarn test ci-people-data-labs-status-check: if: always() && !cancelled() timeout-minutes: 5 runs-on: ubuntu-latest needs: [changed-files-check, people-data-labs] steps: - name: Fail job if any needs failed if: contains(needs.*.result, 'failure') run: exit 1