diff --git a/.github/workflows/ci-people-data-labs.yaml b/.github/workflows/ci-people-data-labs.yaml new file mode 100644 index 0000000000..948bdb8103 --- /dev/null +++ b/.github/workflows/ci-people-data-labs.yaml @@ -0,0 +1,67 @@ +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