fix: use claude CLI directly instead of claude-code-action

claude-code-action requires the workflow file to exist on the default
branch (main) before it will execute. Since this is a new workflow,
switch to installing and running the claude CLI directly to bypass
the workflow validation check.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
snomiao
2026-03-05 08:06:50 +00:00
parent ae55b95f5d
commit 2c671fe2fd

View File

@@ -1,4 +1,4 @@
# Description: Automated QA of ComfyUI frontend using Claude + Playwright MCP
# Description: Automated QA of ComfyUI frontend using Claude CLI + Playwright MCP
# Triggers on PRs from sno-skills or qa-* branches, or via 'qa-run' label
name: 'QA: Claude Frontend QA'
@@ -25,7 +25,6 @@ jobs:
contents: write
pull-requests: write
issues: write
id-token: write
packages: read
steps:
- name: Checkout repository
@@ -52,45 +51,63 @@ jobs:
echo "ComfyUI server is ready"
- name: Install Playwright for MCP
run: pnpm exec playwright install chromium --with-deps
- name: Install Claude Code
run: npm install -g @anthropic-ai/claude-code
- name: Create MCP config
run: |
pnpm exec playwright install chromium --with-deps
cat > /tmp/mcp-config.json <<'MCPEOF'
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest", "--headless"]
}
}
}
MCPEOF
- name: Run Claude QA
uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
prompt: |
You are running an automated QA pass on the ComfyUI frontend.
Read the file `skills/comfy-qa/SKILL.md` and follow the QA test plan.
Environment details:
- CI=true
- Server URL: http://127.0.0.1:8188
- Branch: ${{ github.head_ref || github.ref_name }}
- PR: #${{ github.event.pull_request.number || 'N/A' }}
- Commit: ${{ github.sha }}
Instructions:
1. Use the playwright MCP tools to navigate http://127.0.0.1:8188
2. Run through the FULL QA test plan from the skill file
3. Take screenshots of any failures or notable states
4. Generate a QA report following the template in the skill file
5. Save the report to docs/qa/ with today's date
6. Commit and push the report to this branch
7. Post a summary comment on this PR (#${{ github.event.pull_request.number }})
using: gh pr comment ${{ github.event.pull_request.number }} --body "..."
Do NOT create a new PR. Commit directly to this branch.
Be thorough but efficient — skip tests that require features not
available in CI (e.g., file upload dialogs, real GPU execution).
claude_args: >-
--max-turns 128
--mcp-config '{"mcpServers":{"playwright":{"command":"npx","args":["@playwright/mcp@latest","--headless"]}}}'
--allowedTools "mcp__playwright__browser_navigate,mcp__playwright__browser_snapshot,mcp__playwright__browser_click,mcp__playwright__browser_type,mcp__playwright__browser_press_key,mcp__playwright__browser_take_screenshot,mcp__playwright__browser_hover,mcp__playwright__browser_drag,mcp__playwright__browser_select_option,mcp__playwright__browser_handle_dialog,mcp__playwright__browser_tab_list,mcp__playwright__browser_tab_new,mcp__playwright__browser_tab_select,mcp__playwright__browser_tab_close,mcp__playwright__browser_console_messages,mcp__playwright__browser_resize,mcp__playwright__browser_wait_for,Bash(git add:*),Bash(git commit:*),Bash(git push:*),Bash(git status:*),Bash(git log:*),Bash(git diff:*),Bash(git checkout:*),Bash(gh pr comment:*),Bash(gh pr view:*),Bash(date:*),Bash(ls:*),Bash(mkdir:*),Bash(cat:*),Read,Write,Edit,Glob,Grep"
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
CI: 'true'
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
BRANCH="${{ github.head_ref || github.ref_name }}"
PR_NUM="${{ github.event.pull_request.number }}"
SHA="${{ github.sha }}"
claude --print --verbose \
--max-turns 128 \
--mcp-config /tmp/mcp-config.json \
--allowedTools "mcp__playwright__browser_navigate,mcp__playwright__browser_snapshot,mcp__playwright__browser_click,mcp__playwright__browser_type,mcp__playwright__browser_press_key,mcp__playwright__browser_take_screenshot,mcp__playwright__browser_hover,mcp__playwright__browser_drag,mcp__playwright__browser_select_option,mcp__playwright__browser_handle_dialog,mcp__playwright__browser_tab_list,mcp__playwright__browser_tab_new,mcp__playwright__browser_tab_select,mcp__playwright__browser_tab_close,mcp__playwright__browser_console_messages,mcp__playwright__browser_resize,mcp__playwright__browser_wait_for,Bash(git add:*),Bash(git commit:*),Bash(git push:*),Bash(git status:*),Bash(git log:*),Bash(git diff:*),Bash(gh pr comment:*),Bash(gh pr view:*),Bash(date:*),Bash(ls:*),Bash(mkdir:*),Read,Write,Edit,Glob,Grep" \
"You are running an automated QA pass on the ComfyUI frontend.
Read the file skills/comfy-qa/SKILL.md and follow the QA test plan.
Environment details:
- CI=true
- Server URL: http://127.0.0.1:8188
- Branch: ${BRANCH}
- PR: #${PR_NUM}
- Commit: ${SHA}
Instructions:
1. Use the playwright MCP tools to navigate http://127.0.0.1:8188
2. Run through the FULL QA test plan from the skill file
3. Take screenshots of any failures or notable states
4. Generate a QA report following the template in the skill file
5. Save the report to docs/qa/ with today's date
6. Commit and push the report to this branch
7. Post a summary comment on this PR using:
gh pr comment ${PR_NUM} --body '<your summary>'
Do NOT create a new PR. Commit directly to this branch.
Be thorough but efficient — skip tests that require features not
available in CI (e.g., file upload dialogs, real GPU execution)."
- name: Remove qa-run label
if: always() && github.event.label.name == 'qa-run'