mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-05 07:30:11 +00:00
Update all CI workflow names to follow "CI: <Description>" pattern for 1:1 correspondence with filenames as suggested by @benceruleanlu: - ci-json-validation.yaml → "CI: JSON Validation" - ci-lint-format.yaml → "CI: Lint Format" - ci-python-validation.yaml → "CI: Python Validation" - ci-tests-e2e.yaml → "CI: Tests E2E" - ci-tests-unit.yaml → "CI: Tests Unit" - ci-tests-storybook.yaml → "CI: Tests Storybook" - ci-tests-*-forks.yaml → "CI: Tests * Forks" Also added explanation of JSON validation scope (all .json files except tsconfig*.json) to address reviewer question. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
94 lines
3.6 KiB
YAML
94 lines
3.6 KiB
YAML
name: "CI: Tests E2E Forks"
|
|
|
|
# Deploys test results from forked PRs (forks can't access deployment secrets)
|
|
|
|
on:
|
|
workflow_run:
|
|
workflows: ["Tests E2E CI"]
|
|
types: [requested, completed]
|
|
|
|
env:
|
|
DATE_FORMAT: '+%m/%d/%Y, %I:%M:%S %p'
|
|
|
|
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@v5
|
|
|
|
- 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} from fork: ${context.payload.workflow_run.head_repository.full_name}`);
|
|
return pr.number;
|
|
|
|
- name: Handle Test Start
|
|
if: steps.pr.outputs.result != 'null' && 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.result }}" \
|
|
"${{ github.event.workflow_run.head_branch }}" \
|
|
"starting" \
|
|
"$(date -u '${{ env.DATE_FORMAT }}')"
|
|
|
|
- name: Download and Deploy Reports
|
|
if: steps.pr.outputs.result != 'null' && github.event.action == 'completed'
|
|
uses: actions/download-artifact@v4
|
|
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.result != 'null' && github.event.action == 'completed'
|
|
env:
|
|
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
GITHUB_TOKEN: ${{ github.token }}
|
|
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.result }}" \
|
|
"${{ github.event.workflow_run.head_branch }}" \
|
|
"completed" |