Docker container image for ComfyUI E2E testing with Playwright
  • Dockerfile 71%
  • Shell 29%
Find a file
2026-10-20 00:51:33 +00:00
.agents ci: safely resolve latest frontend container (#33) 2026-09-29 05:07:19 +00:00
.amp chore: prepare orbs and update CI container toolchain (#31) 2026-09-28 22:12:34 +00:00
.github fix: keep latest container resolution current (#34) 2026-09-29 16:50:02 +00:00
.gitignore chore: prepare orbs and update CI container toolchain (#31) 2026-09-28 22:12:34 +00:00
.pinact.yaml chore: prepare orbs and update CI container toolchain (#31) 2026-09-28 22:12:34 +00:00
Dockerfile chore: prepare orbs and update CI container toolchain (#31) 2026-09-28 22:12:34 +00:00
README.md docs: point CI container readers to frontend monorepo (#36) 2026-10-20 00:51:33 +00:00

ComfyUI CI container

Important

The ComfyUI CI container is now part of the ComfyUI_frontend monorepo. This repository is no longer maintained. See the CI container documentation for current usage, development, and publishing instructions. Report issues and submit pull requests in the monorepo. The instructions below describe the legacy standalone container.

This image runs ComfyUI frontend Playwright tests without installing the backend and browser dependencies in every CI shard.

Included software

  • Chromium, Firefox, and WebKit from the pinned Playwright image
  • Node.js 26 through fnm
  • pnpm through Corepack
  • zstd for GitHub Actions cache archives
  • Python 3.12 and CPU-only PyTorch
  • The pinned ComfyUI backend and its Python dependencies at /ComfyUI
  • wait-for-it

Use the image

Replace <version> with a published container version. The container's Playwright version must match the caller's @playwright/test version.

jobs:
  test:
    runs-on: ubuntu-latest
    container:
      image: ghcr.io/comfy-org/comfyui-ci-container:<version>
    strategy:
      matrix:
        shard: [1, 2, 3, 4]
    steps:
      - uses: actions/checkout@v7

      - uses: actions/download-artifact@v8
        with:
          name: frontend-dist
          path: dist

      # Setup - just copy devtools and start server (no clone, no pip install)
      - name: Setup ComfyUI
        run: |
          ln -sf /ComfyUI ./ComfyUI
          cp -r ./tools/devtools/* /ComfyUI/custom_nodes/ComfyUI_devtools/
          cd /ComfyUI
          python3 main.py --cpu --multi-user --front-end-root "$GITHUB_WORKSPACE/dist" &
          wait-for-it --service 127.0.0.1:8188 -t 600

      - name: Install frontend dependencies
        uses: ./.github/actions/setup-frontend

      - name: Run tests
        run: pnpm exec playwright test --shard=${{ matrix.shard }}/4

Build locally

docker build -t comfyui-test:local .
docker run -it --rm -v "$(pwd):/app" comfyui-test:local bash
docker run --rm comfyui-test:local python3 -c "import torch; print(torch.__version__)"