name: Setup ComfyUI Frontend description: 'Install nodejs/pnpm/dependencies and optionally build ComfyUI_frontend' inputs: include_build_step: description: 'Include the build step to build the frontend. Set to true for workflows that need a built frontend' required: false default: 'false' runs: using: 'composite' steps: # Note: this workflow assume frontend repo is checked out in the root of the workspace # Install pnpm, Node.js, build frontend - name: Install pnpm uses: pnpm/action-setup@v4 with: version: 10 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: 'lts/*' cache: 'pnpm' cache-dependency-path: './pnpm-lock.yaml' # Restore tool caches before running any build/lint operations - name: Restore tool output cache uses: actions/cache/restore@v4 with: path: | ./.cache ./tsconfig.tsbuildinfo key: tool-cache-${{ runner.os }}-${{ hashFiles('./pnpm-lock.yaml') }}-${{ hashFiles('./src/**/*.{ts,vue,js,mts}', './*.config.*') }} restore-keys: | tool-cache-${{ runner.os }}-${{ hashFiles('./pnpm-lock.yaml') }}- tool-cache-${{ runner.os }}- - name: Install dependencies shell: bash run: pnpm install --frozen-lockfile - name: Build ComfyUI_frontend if: ${{ inputs.include_build_step == 'true' }} shell: bash run: pnpm build