Spaces:
Build error
Build error
| name: 'Website Preview Dispatch' | |
| permissions: | |
| contents: read | |
| on: | |
| pull_request: | |
| types: [opened, synchronize, reopened, closed, labeled] | |
| paths: | |
| - packages/twenty-website/** | |
| - .github/workflows/website-preview-dispatch.yaml | |
| concurrency: | |
| # Keyed on PR number so independent PRs don't cancel each other. `github.ref` | |
| # would resolve to the base branch under pull_request and collide. | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number }} | |
| cancel-in-progress: true | |
| jobs: | |
| trigger-build: | |
| # Same fork PRs from outside the org don't have `secrets.*` so the dispatch | |
| # call would fail anyway — skip explicitly to avoid noise. | |
| if: | | |
| github.event.pull_request.head.repo.full_name == github.repository && | |
| github.event.action != 'closed' && ( | |
| (github.event.action == 'labeled' && github.event.label.name == 'preview-website') || | |
| ( | |
| ( | |
| github.event.pull_request.author_association == 'MEMBER' || | |
| github.event.pull_request.author_association == 'OWNER' || | |
| github.event.pull_request.author_association == 'COLLABORATOR' | |
| ) && contains(fromJSON('["opened","synchronize","reopened"]'), github.event.action) | |
| ) | |
| ) | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| steps: | |
| - name: Mint ci-privileged dispatch token | |
| id: app-token | |
| uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0 | |
| with: | |
| client-id: ${{ vars.TWENTY_WORKFLOW_DISPATCHER_CLIENT_ID }} | |
| private-key: ${{ secrets.TWENTY_WORKFLOW_DISPATCHER_PRIVATE_KEY }} | |
| owner: twentyhq | |
| repositories: ci-privileged | |
| permission-actions: write | |
| - name: Dispatch website-preview-build to ci-privileged | |
| env: | |
| GH_TOKEN: ${{ steps.app-token.outputs.token }} | |
| PR_NUMBER: ${{ github.event.pull_request.number }} | |
| PR_HEAD_SHA: ${{ github.event.pull_request.head.sha }} | |
| PR_HEAD_REF: ${{ github.event.pull_request.head.ref }} | |
| run: | | |
| gh workflow run website-preview.yaml --repo twentyhq/ci-privileged --ref main \ | |
| -f action=build \ | |
| -f pr_number="$PR_NUMBER" \ | |
| -f pr_head_sha="$PR_HEAD_SHA" \ | |
| -f pr_head_ref="$PR_HEAD_REF" | |
| trigger-cleanup: | |
| # Covers both merge and close-without-merge — pull_request `closed` fires | |
| # for both. PRs left open forever are covered by OpenNext's | |
| # `maxVersionAgeDays: 14` + `maxNumberOfVersions: 50` auto-pruning in | |
| # open-next.config.ts, so nothing leaks even if cleanup never runs. | |
| if: | | |
| github.event.pull_request.head.repo.full_name == github.repository && | |
| github.event.action == 'closed' | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| steps: | |
| - name: Mint ci-privileged dispatch token | |
| id: app-token | |
| uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0 | |
| with: | |
| client-id: ${{ vars.TWENTY_WORKFLOW_DISPATCHER_CLIENT_ID }} | |
| private-key: ${{ secrets.TWENTY_WORKFLOW_DISPATCHER_PRIVATE_KEY }} | |
| owner: twentyhq | |
| repositories: ci-privileged | |
| permission-actions: write | |
| - name: Dispatch website-preview-cleanup to ci-privileged | |
| env: | |
| GH_TOKEN: ${{ steps.app-token.outputs.token }} | |
| PR_NUMBER: ${{ github.event.pull_request.number }} | |
| run: | | |
| gh workflow run website-preview.yaml --repo twentyhq/ci-privileged --ref main \ | |
| -f action=cleanup \ | |
| -f pr_number="$PR_NUMBER" | |