mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-04-20 22:39:39 +00:00
Changes: - Move cache restore to setup-frontend action BEFORE build operations - Remove duplicate cache step from setup-playwright action - Use cache/restore instead of cache to avoid auto-save behavior - Rename cache key from 'playwright-setup-cache' to 'tool-cache' for clarity - Include source file hashes in cache key for proper invalidation Benefits: - Cache is now restored before tools run, allowing them to use cached data - Eliminates duplicate caching of ./.cache directory - Cache properly invalidates when source files or configs change - Follows GitHub Actions best practice of restore before, save after pattern - The workspace cache in tests-ci.yaml handles saving the complete state Note: The .cache directory contains outputs from ESLint, Prettier, Stylelint, Knip, and TypeScript incremental builds. These should be restored before any build/lint operations run.
46 lines
1.3 KiB
YAML
46 lines
1.3 KiB
YAML
name: Build ComfyUI Frontend
|
|
description: 'Install dependencies and build ComfyUI_frontend'
|
|
inputs:
|
|
build_frontend:
|
|
description: 'Whether to build the frontend'
|
|
required: false
|
|
default: 'true'
|
|
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 needed
|
|
if: ${{ inputs.build_frontend == 'true' }}
|
|
shell: bash
|
|
run: pnpm build
|