name: Tests CI on: push: branches: - main - master - 'dev*' pull_request: branches: - main - master - 'dev*' 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: "Comfy-Org/ComfyUI_frontend" path: "ComfyUI_frontend" - name: Get commit message id: commit-message run: echo "::set-output name=message::$(git log -1 --pretty=%B)" working-directory: ComfyUI_frontend - name: Checkout ComfyUI_examples uses: actions/checkout@v4 with: repository: "comfyanonymous/ComfyUI_examples" path: "ComfyUI_frontend/tests-ui/ComfyUI_examples" ref: master - 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 run test:generate:examples npm test -- --verbose working-directory: ComfyUI_frontend - name: Install Playwright Browsers run: npx playwright install chromium --with-deps working-directory: ComfyUI_frontend - name: Run Playwright tests run: npx playwright test working-directory: ComfyUI_frontend - uses: actions/upload-artifact@v4 if: always() with: name: playwright-report path: ComfyUI_frontend/playwright-report/ retention-days: 30