# Setting test expectation screenshots for Playwright name: Update Playwright Expectations on: pull_request: types: [ labeled ] branches: [ main, master ] jobs: test: runs-on: ubuntu-latest if: github.event.label.name == 'New Browser Test Expectations' 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" ref: ${{ github.head_ref }} - 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: Install Playwright Browsers run: npx playwright install chromium --with-deps working-directory: ComfyUI_frontend - name: Run Playwright tests and update snapshots id: playwright-tests run: npx playwright test --update-snapshots 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 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