Compare commits

...

5 Commits

Author SHA1 Message Date
Claude
f3d842cc32 chore: remove GitHub Pages setup instructions and low-value comments from dashboard-deploy workflow
Manual-enable steps for GitHub Pages belong in the PR description, not
comments in the workflow config. Also trims a redundant top-of-file
description comment that just restated the job name/steps.
2026-07-17 04:49:15 +00:00
GitHub Action
d129ab23e1 [automated] Apply ESLint and Oxfmt fixes 2026-07-17 04:05:37 +00:00
Claude
4d774bfa99 fix: address review feedback — refresh dashboard on e2e failure, safer Pages concurrency, accurate report label
- Deploy job now triggers on both 'success' and 'failure' conclusions of
  CI: Tests E2E on main, so a failing run's report is still published to
  the persistent dashboard URL instead of being silently skipped.
- Switch the dashboard-deploy concurrency group to cancel-in-progress:
  false, matching GitHub's recommended Pages deploy pattern — cancelling
  a deploy-pages run mid-flight can leave a deployment in a bad state,
  and these deploys are idempotent/infrequent.
- Relabel the Playwright report link "Merged chromium E2E report" since
  the linked playwright-report-chromium artifact only covers the merged
  chromium-sharded run, not the chromium-2x/chromium-0.5x/mobile-chrome/
  cloud projects, which upload as separate artifacts.

Addresses review feedback from Christian Byrne on PR #13735.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L5Z1u8a5jspDCYRF4x5WJy
2026-07-17 04:02:05 +00:00
GitHub Action
146a88480c [automated] Apply ESLint and Oxfmt fixes 2026-07-16 22:19:11 +00:00
Claude
cd57484695 feat: add CI dashboard scaffold with Storybook + Playwright report links
First step toward a centralized CI/reports dashboard published via GitHub
Pages. Adds a minimal static index page linking to the already-live
Storybook deployment and to the merged Playwright HTML report, and a new
workflow that deploys both to GitHub Pages on push to main.

Follow-up PRs will add the remaining report types (coverage, bundle size,
lint, etc.) once each has a persistent, hosted home.
2026-07-16 22:14:16 +00:00
2 changed files with 196 additions and 0 deletions

View File

@@ -0,0 +1,70 @@
# Triggered by workflow_run (not push) so this only runs after 'CI: Tests E2E' has
# finished merging its sharded blob reports into an HTML report on main — the
# 'playwright-report-chromium' artifact this job downloads doesn't exist until that
# merge-reports job completes.
name: 'CI: Dashboard Deploy'
on:
workflow_run:
workflows: ['CI: Tests E2E']
types:
- completed
concurrency:
group: dashboard-deploy-${{ github.event.workflow_run.head_branch }}
cancel-in-progress: false
permissions:
contents: read
jobs:
deploy:
if: >
github.repository == 'Comfy-Org/ComfyUI_frontend' &&
github.event.workflow_run.event == 'push' &&
github.event.workflow_run.head_branch == 'main' &&
(github.event.workflow_run.conclusion == 'success' || github.event.workflow_run.conclusion == 'failure')
runs-on: ubuntu-latest
timeout-minutes: 10
permissions:
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Download merged Playwright report
uses: dawidd6/action-download-artifact@0bd50d53a6d7fb5cb921e607957e9cc12b4ce392 # v12
with:
run_id: ${{ github.event.workflow_run.id }}
name: playwright-report-chromium
path: dashboard-site/playwright-report
if_no_artifact_found: warn
- name: Check Playwright report was found
id: report
run: |
if [ -f dashboard-site/playwright-report/index.html ]; then
echo "found=true" >> "$GITHUB_OUTPUT"
else
echo "found=false" >> "$GITHUB_OUTPUT"
echo "No merged Playwright report artifact found for this run; skipping the dashboard deploy so the existing Pages deployment isn't wiped out." >> "$GITHUB_STEP_SUMMARY"
fi
- name: Assemble dashboard index
if: steps.report.outputs.found == 'true'
run: cp scripts/cicd/dashboard/index.html dashboard-site/index.html
- name: Upload to GitHub Pages
if: steps.report.outputs.found == 'true'
uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3.0.1
with:
path: dashboard-site
- name: Deploy to GitHub Pages
id: deployment
if: steps.report.outputs.found == 'true'
uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4.0.5

View File

@@ -0,0 +1,126 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="robots" content="noindex" />
<title>ComfyUI_frontend CI Dashboard</title>
<style>
:root {
color-scheme: light dark;
--bg: #ffffff;
--fg: #1a1a1a;
--muted: #59636e;
--border: #d8dee4;
--card-bg: #f6f8fa;
--link: #0969da;
}
@media (prefers-color-scheme: dark) {
:root {
--bg: #0d1117;
--fg: #e6edf3;
--muted: #9198a1;
--border: #30363d;
--card-bg: #161b22;
--link: #4493f8;
}
}
* {
box-sizing: border-box;
}
body {
margin: 0;
padding: 2.5rem 1.5rem;
background: var(--bg);
color: var(--fg);
font-family:
-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial,
sans-serif;
line-height: 1.5;
}
main {
max-width: 40rem;
margin: 0 auto;
}
h1 {
font-size: 1.5rem;
margin-bottom: 0.25rem;
}
p.lede {
color: var(--muted);
margin-top: 0;
margin-bottom: 2rem;
}
ul.reports {
list-style: none;
margin: 0 0 2rem;
padding: 0;
display: grid;
gap: 0.75rem;
}
ul.reports li {
border: 1px solid var(--border);
border-radius: 6px;
background: var(--card-bg);
padding: 1rem 1.25rem;
}
ul.reports a {
color: var(--link);
font-weight: 600;
text-decoration: none;
}
ul.reports a:hover {
text-decoration: underline;
}
ul.reports .description {
color: var(--muted);
font-size: 0.9rem;
margin-top: 0.25rem;
}
footer {
color: var(--muted);
font-size: 0.85rem;
border-top: 1px solid var(--border);
padding-top: 1rem;
}
code {
background: var(--card-bg);
padding: 0.1rem 0.35rem;
border-radius: 4px;
font-size: 0.85em;
}
</style>
</head>
<body>
<main>
<h1>ComfyUI_frontend CI Dashboard</h1>
<p class="lede">
Persistent links to CI-generated reports and tools for the
<code>main</code> branch, rebuilt on every push.
</p>
<ul class="reports">
<li>
<a href="https://main.comfy-storybook.pages.dev">Storybook</a>
<div class="description">
Component library, built and deployed from
<code>ci-tests-storybook.yaml</code>.
</div>
</li>
<li>
<a href="./playwright-report/">Playwright report</a>
<div class="description">
Merged chromium E2E report from the latest <code>main</code> run of
<code>ci-tests-e2e.yaml</code>.
</div>
</li>
</ul>
<footer>
More report types (coverage, bundle size, lint, etc.) will be added here
in follow-up PRs as they get a persistent, hosted home. This page is
intentionally minimal for now.
</footer>
</main>
</body>
</html>