Import Fathom recording media asynchronously #24720
This file contains hidden or 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 UI | |
| on: | |
| pull_request: | |
| push: | |
| branches: [main] | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }}${{ github.ref == 'refs/heads/main' && format('-{0}', github.sha) || '' }} | |
| cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} | |
| jobs: | |
| changed-files-check: | |
| if: github.event_name == 'pull_request' | |
| uses: ./.github/workflows/changed-files.yaml | |
| with: | |
| files: | | |
| package.json | |
| yarn.lock | |
| packages/twenty-ui/** | |
| packages/twenty-shared/** | |
| ui-task: | |
| needs: changed-files-check | |
| if: needs.changed-files-check.outputs.any_changed == 'true' | |
| timeout-minutes: 30 | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| task: [lint, typecheck, test, size, pack-size] | |
| steps: | |
| - name: Fetch custom Github Actions and base branch history | |
| uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 | |
| with: | |
| fetch-depth: 10 | |
| - name: Install dependencies | |
| uses: ./.github/actions/yarn-install | |
| - name: Run ${{ matrix.task }} | |
| run: npx nx ${{ matrix.task }} twenty-ui | |
| ui-sb-build: | |
| needs: changed-files-check | |
| if: >- | |
| always() && | |
| (github.event_name == 'push' || | |
| needs.changed-files-check.outputs.any_changed == 'true') | |
| timeout-minutes: 30 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Fetch custom Github Actions and base branch history | |
| uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 | |
| with: | |
| fetch-depth: 10 | |
| - name: Install dependencies | |
| uses: ./.github/actions/yarn-install | |
| - name: Build storybook | |
| run: npx nx storybook:build twenty-ui | |
| - name: Upload storybook build | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 | |
| with: | |
| name: storybook-twenty-ui | |
| path: packages/twenty-ui/storybook-static | |
| retention-days: 1 | |
| ui-sb-test: | |
| timeout-minutes: 30 | |
| runs-on: ubuntu-latest | |
| needs: ui-sb-build | |
| if: always() && needs.ui-sb-build.result == 'success' | |
| steps: | |
| - name: Fetch custom Github Actions and base branch history | |
| uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 | |
| with: | |
| fetch-depth: 10 | |
| - name: Install dependencies | |
| uses: ./.github/actions/yarn-install | |
| - name: Build dependencies | |
| run: npx nx build twenty-shared | |
| - name: Download storybook build | |
| uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 | |
| with: | |
| name: storybook-twenty-ui | |
| path: packages/twenty-ui/storybook-static | |
| - name: Install Playwright | |
| run: | | |
| cd packages/twenty-ui | |
| npx playwright install | |
| - name: Run storybook tests | |
| run: npx nx storybook:test twenty-ui | |
| - name: Upload screenshots for visual regression | |
| if: always() && !cancelled() | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 | |
| with: | |
| name: argos-screenshots-twenty-ui | |
| path: packages/twenty-ui/screenshots | |
| retention-days: 1 | |
| ci-ui-status-check: | |
| if: always() && !cancelled() | |
| timeout-minutes: 5 | |
| runs-on: ubuntu-latest | |
| needs: [changed-files-check, ui-task, ui-sb-build, ui-sb-test] | |
| steps: | |
| - name: Fail job if any needs failed | |
| if: contains(needs.*.result, 'failure') | |
| run: exit 1 |