mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-24 00:34:09 +00:00
* Add playwright * Add test:browser command * Remove test examples * Add basic node tests * Add drag node test * Merge workflows * nit * Localize jest * Add local config * Change working dir * Use consistent fonts * Fix emoji fonts * Update github action to save expectation * update on test failure * push to head * Update test expectations [skip ci] --------- Co-authored-by: github-actions <github-actions@github.com>
93 lines
3.0 KiB
YAML
93 lines
3.0 KiB
YAML
name: Tests CI
|
|
|
|
on:
|
|
push:
|
|
branches: [ main, master ]
|
|
pull_request:
|
|
branches: [ main, master ]
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout ComfyUI
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: "comfyanonymous/ComfyUI"
|
|
path: "ComfyUI"
|
|
ref: master
|
|
- name: Checkout ComfyUI_frontend
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: "huchenlei/ComfyUI_frontend"
|
|
path: "ComfyUI_frontend"
|
|
ref: ${{ github.head_ref }}
|
|
- name: Get commit message
|
|
id: commit-message
|
|
run: echo "::set-output name=message::$(git log -1 --pretty=%B)"
|
|
working-directory: ComfyUI_frontend
|
|
- name: Skip CI
|
|
if: contains(steps.commit-message.outputs.message, '[skip ci]')
|
|
run: echo "Skipping CI as commit contains '[skip ci]'"
|
|
continue-on-error: true
|
|
working-directory: ComfyUI_frontend
|
|
- uses: actions/setup-node@v3
|
|
with:
|
|
node-version: lts/*
|
|
- uses: actions/setup-python@v4
|
|
with:
|
|
python-version: '3.10'
|
|
- name: Install requirements
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
|
|
pip install -r requirements.txt
|
|
pip install wait-for-it
|
|
working-directory: ComfyUI
|
|
- name: Build & Install ComfyUI_frontend
|
|
run: |
|
|
npm ci
|
|
npm run build
|
|
rm -rf ../ComfyUI/web/*
|
|
mv dist/* ../ComfyUI/web/
|
|
working-directory: ComfyUI_frontend
|
|
- name: Start ComfyUI server
|
|
run: |
|
|
python main.py --cpu &
|
|
wait-for-it --service 127.0.0.1:8188 -t 600
|
|
working-directory: ComfyUI
|
|
- name: Run UI tests
|
|
run: |
|
|
npm run test:generate
|
|
npm test -- --verbose
|
|
working-directory: ComfyUI_frontend
|
|
- name: Install Playwright Browsers
|
|
run: npx playwright install --with-deps
|
|
working-directory: ComfyUI_frontend
|
|
- name: Run Playwright tests
|
|
id: playwright-tests
|
|
run: npx playwright test
|
|
continue-on-error: true
|
|
working-directory: ComfyUI_frontend
|
|
- uses: actions/upload-artifact@v4
|
|
if: always()
|
|
with:
|
|
name: playwright-report
|
|
path: ComfyUI_frontend/playwright-report/
|
|
retention-days: 30
|
|
- name: Debugging info
|
|
run: |
|
|
echo "Branch: ${{ github.head_ref }}"
|
|
git status
|
|
working-directory: ComfyUI_frontend
|
|
- name: Commit updated expectations
|
|
if: steps.playwright-tests.outcome == 'failure' && contains(github.event.pull_request.labels.*.name, 'New Browser Test Expectations')
|
|
# Pushes back to the source branch of the PR
|
|
run: |
|
|
git config --global user.name 'github-actions'
|
|
git config --global user.email 'github-actions@github.com'
|
|
git add browser_tests
|
|
git commit -m "Update test expectations [skip ci]"
|
|
git push origin HEAD:${{ github.head_ref }}
|
|
working-directory: ComfyUI_frontend
|