# Description: Deploys test results from forked PRs (forks can't access deployment secrets) name: 'CI: Tests E2E (Deploy for Forks)' on: workflow_run: workflows: ['CI: Tests E2E'] types: [requested, completed] concurrency: group: ${{ github.workflow }}-${{ github.event.workflow_run.head_repository.full_name }}-${{ github.event.workflow_run.head_branch }} cancel-in-progress: true jobs: deploy-and-comment-forked-pr: runs-on: ubuntu-latest if: | github.repository == 'Comfy-Org/ComfyUI_frontend' && github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.head_repository != null && github.event.workflow_run.repository != null && github.event.workflow_run.head_repository.full_name != github.event.workflow_run.repository.full_name permissions: pull-requests: write actions: read steps: - name: Log workflow trigger info run: | echo "Repository: ${{ github.repository }}" echo "Event: ${{ github.event.workflow_run.event }}" echo "Head repo: ${{ github.event.workflow_run.head_repository.full_name || 'null' }}" echo "Base repo: ${{ github.event.workflow_run.repository.full_name || 'null' }}" echo "Is forked: ${{ github.event.workflow_run.head_repository.full_name != github.event.workflow_run.repository.full_name }}" - name: Checkout repository uses: actions/checkout@v6 - name: Resolve PR from workflow_run context id: pr uses: ./.github/actions/resolve-pr-from-workflow-run - name: Handle Test Start if: steps.pr.outputs.skip != 'true' && github.event.action == 'requested' env: GITHUB_TOKEN: ${{ github.token }} run: | chmod +x scripts/cicd/pr-playwright-deploy-and-comment.sh ./scripts/cicd/pr-playwright-deploy-and-comment.sh \ "${{ steps.pr.outputs.number }}" \ "${{ github.event.workflow_run.head_branch }}" \ "starting" - name: Download and Deploy Reports if: steps.pr.outputs.skip != 'true' && github.event.action == 'completed' uses: actions/download-artifact@v7 with: github-token: ${{ secrets.GITHUB_TOKEN }} run-id: ${{ github.event.workflow_run.id }} pattern: playwright-report-* path: reports - name: Handle Test Completion if: steps.pr.outputs.skip != 'true' && github.event.action == 'completed' env: CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} GITHUB_TOKEN: ${{ github.token }} GITHUB_SHA: ${{ github.event.workflow_run.head_sha }} run: | # Rename merged report if exists [ -d "reports/playwright-report-chromium-merged" ] && \ mv reports/playwright-report-chromium-merged reports/playwright-report-chromium chmod +x scripts/cicd/pr-playwright-deploy-and-comment.sh ./scripts/cicd/pr-playwright-deploy-and-comment.sh \ "${{ steps.pr.outputs.number }}" \ "${{ github.event.workflow_run.head_branch }}" \ "completed"