# Description: Runs E2E tests for release PRs after i18n workflow completes name: 'CI: Tests E2E (Release PRs)' on: workflow_run: workflows: ['i18n: Update Core'] types: [completed] jobs: check-eligibility: runs-on: ubuntu-latest # Only run if: # 1. This is the main repository # 2. The i18n workflow was triggered by a pull_request # 3. The i18n workflow completed successfully or was skipped (no locale changes) # 4. The branch is a version-bump branch # 5. The PR is from the main repo (not a fork) if: | github.repository == 'Comfy-Org/ComfyUI_frontend' && github.event.workflow_run.event == 'pull_request' && (github.event.workflow_run.conclusion == 'success' || github.event.workflow_run.conclusion == 'skipped') && startsWith(github.event.workflow_run.head_branch, 'version-bump-') && github.event.workflow_run.head_repository.full_name == github.event.workflow_run.repository.full_name outputs: pr_number: ${{ steps.pr.outputs.result }} head_sha: ${{ github.event.workflow_run.head_sha }} steps: - name: Log workflow trigger info run: | echo "Repository: ${{ github.repository }}" echo "Event: ${{ github.event.workflow_run.event }}" echo "Conclusion: ${{ github.event.workflow_run.conclusion }}" echo "Head branch: ${{ github.event.workflow_run.head_branch }}" echo "Head SHA: ${{ github.event.workflow_run.head_sha }}" echo "Head repo: ${{ github.event.workflow_run.head_repository.full_name }}" - name: Get PR Number id: pr uses: actions/github-script@v7 with: script: | const { data: prs } = await github.rest.pulls.list({ owner: context.repo.owner, repo: context.repo.repo, state: 'open', }); const pr = prs.find(p => p.head.sha === context.payload.workflow_run.head_sha); if (!pr) { console.log('No PR found for SHA:', context.payload.workflow_run.head_sha); return null; } console.log(`Found PR #${pr.number} for version bump: ${context.payload.workflow_run.head_branch}`); return pr.number; run-e2e-tests: needs: check-eligibility if: needs.check-eligibility.outputs.pr_number != 'null' uses: ./.github/workflows/ci-tests-e2e.yaml with: ref: ${{ needs.check-eligibility.outputs.head_sha }} pr_number: ${{ needs.check-eligibility.outputs.pr_number }} secrets: inherit