diff --git a/.github/workflows/chromatic.yaml b/.github/workflows/chromatic.yaml index 11ac26254..51f8a4fde 100644 --- a/.github/workflows/chromatic.yaml +++ b/.github/workflows/chromatic.yaml @@ -51,6 +51,19 @@ jobs: --- *This comment will be updated when the build completes* + - name: Cache tool outputs + uses: actions/cache@v4 + with: + path: | + .cache + storybook-static + tsconfig.tsbuildinfo + key: storybook-cache-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}-${{ hashFiles('src/**/*.{ts,vue,js}', '*.config.*', '.storybook/**/*') }} + restore-keys: | + storybook-cache-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}- + storybook-cache-${{ runner.os }}- + storybook-tools-cache-${{ runner.os }}- + - name: Install dependencies run: npm ci diff --git a/.github/workflows/dev-release.yaml b/.github/workflows/dev-release.yaml index 177c01df9..4b4e26067 100644 --- a/.github/workflows/dev-release.yaml +++ b/.github/workflows/dev-release.yaml @@ -19,6 +19,19 @@ jobs: - uses: actions/setup-node@v4 with: node-version: 'lts/*' + cache: 'npm' + + - name: Cache tool outputs + uses: actions/cache@v4 + with: + path: | + .cache + dist + tsconfig.tsbuildinfo + key: dev-release-tools-cache-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + dev-release-tools-cache-${{ runner.os }}- + - name: Get current version id: current_version run: echo "version=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT diff --git a/.github/workflows/i18n.yaml b/.github/workflows/i18n.yaml index 3482e74c6..c823770ad 100644 --- a/.github/workflows/i18n.yaml +++ b/.github/workflows/i18n.yaml @@ -17,6 +17,16 @@ jobs: runs-on: ubuntu-latest steps: - uses: Comfy-Org/ComfyUI_frontend_setup_action@v2.3 + + - name: Cache tool outputs + uses: actions/cache@v4 + with: + path: | + ComfyUI_frontend/.cache + ComfyUI_frontend/.cache + key: i18n-tools-cache-${{ runner.os }}-${{ hashFiles('ComfyUI_frontend/package-lock.json') }} + restore-keys: | + i18n-tools-cache-${{ runner.os }}- - name: Install Playwright Browsers run: npx playwright install chromium --with-deps working-directory: ComfyUI_frontend diff --git a/.github/workflows/lint-and-format.yaml b/.github/workflows/lint-and-format.yaml index d3b1635b2..7e398510f 100644 --- a/.github/workflows/lint-and-format.yaml +++ b/.github/workflows/lint-and-format.yaml @@ -25,6 +25,21 @@ jobs: node-version: 'lts/*' cache: 'npm' + - name: Cache tool outputs + uses: actions/cache@v4 + with: + path: | + .cache + .eslintcache + tsconfig.tsbuildinfo + .prettierCache + .knip-cache + key: lint-format-cache-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}-${{ hashFiles('src/**/*.{ts,vue,js,mts}', '*.config.*', '.eslintrc.*', '.prettierrc.*', 'tsconfig.json') }} + restore-keys: | + lint-format-cache-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}- + lint-format-cache-${{ runner.os }}- + ci-tools-cache-${{ runner.os }}- + - name: Install dependencies run: npm ci diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 55c088163..0cac6ef3a 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -22,6 +22,18 @@ jobs: - uses: actions/setup-node@v4 with: node-version: 'lts/*' + cache: 'npm' + + - name: Cache tool outputs + uses: actions/cache@v4 + with: + path: | + .cache + tsconfig.tsbuildinfo + key: release-tools-cache-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + release-tools-cache-${{ runner.os }}- + - name: Get current version id: current_version run: echo "version=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT @@ -116,7 +128,20 @@ jobs: - uses: actions/setup-node@v4 with: node-version: 'lts/*' + cache: 'npm' registry-url: https://registry.npmjs.org + + - name: Cache tool outputs + uses: actions/cache@v4 + with: + path: | + .cache + tsconfig.tsbuildinfo + dist + key: types-tools-cache-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + types-tools-cache-${{ runner.os }}- + - run: npm ci - run: npm run build:types - name: Publish package diff --git a/.github/workflows/test-ui.yaml b/.github/workflows/test-ui.yaml index dff51c03e..b09cf0a07 100644 --- a/.github/workflows/test-ui.yaml +++ b/.github/workflows/test-ui.yaml @@ -40,6 +40,8 @@ jobs: - uses: actions/setup-node@v4 with: node-version: lts/* + cache: 'npm' + cache-dependency-path: 'ComfyUI_frontend/package-lock.json' - name: Get current time id: current-time @@ -65,6 +67,18 @@ jobs: --- *This comment will be updated when tests complete* + - name: Cache tool outputs + uses: actions/cache@v4 + with: + path: | + ComfyUI_frontend/.cache + ComfyUI_frontend/tsconfig.tsbuildinfo + key: playwright-setup-cache-${{ runner.os }}-${{ hashFiles('ComfyUI_frontend/package-lock.json') }}-${{ hashFiles('ComfyUI_frontend/src/**/*.{ts,vue,js}', 'ComfyUI_frontend/*.config.*') }} + restore-keys: | + playwright-setup-cache-${{ runner.os }}-${{ hashFiles('ComfyUI_frontend/package-lock.json') }}- + playwright-setup-cache-${{ runner.os }}- + playwright-tools-cache-${{ runner.os }}- + - name: Build ComfyUI_frontend run: | npm ci @@ -118,6 +132,7 @@ jobs: - uses: actions/setup-python@v4 with: python-version: '3.10' + cache: 'pip' - name: Get current time id: current-time @@ -160,6 +175,15 @@ jobs: wait-for-it --service 127.0.0.1:8188 -t 600 working-directory: ComfyUI + - name: Cache Playwright browsers + uses: actions/cache@v4 + with: + path: ~/.cache/ms-playwright + key: playwright-browsers-${{ runner.os }}-${{ hashFiles('ComfyUI_frontend/package-lock.json') }}-${{ matrix.browser }} + restore-keys: | + playwright-browsers-${{ runner.os }}-${{ hashFiles('ComfyUI_frontend/package-lock.json') }}- + playwright-browsers-${{ runner.os }}- + - name: Install Playwright Browsers run: npx playwright install chromium --with-deps working-directory: ComfyUI_frontend diff --git a/.github/workflows/update-electron-types.yaml b/.github/workflows/update-electron-types.yaml index 2430cf5e5..642490c61 100644 --- a/.github/workflows/update-electron-types.yaml +++ b/.github/workflows/update-electron-types.yaml @@ -20,6 +20,15 @@ jobs: node-version: lts/* cache: 'npm' + - name: Cache tool outputs + uses: actions/cache@v4 + with: + path: | + .cache + key: electron-types-tools-cache-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + electron-types-tools-cache-${{ runner.os }}- + - name: Update electron types run: npm install @comfyorg/comfyui-electron-types@latest diff --git a/.github/workflows/update-manager-types.yaml b/.github/workflows/update-manager-types.yaml index 7933c7cbe..e31fbe050 100644 --- a/.github/workflows/update-manager-types.yaml +++ b/.github/workflows/update-manager-types.yaml @@ -25,9 +25,26 @@ jobs: node-version: lts/* cache: 'npm' + - name: Cache tool outputs + uses: actions/cache@v4 + with: + path: | + .cache + key: update-manager-tools-cache-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + update-manager-tools-cache-${{ runner.os }}- + - name: Install dependencies run: npm ci + - name: Cache ComfyUI-Manager repository + uses: actions/cache@v4 + with: + path: ComfyUI-Manager + key: comfyui-manager-repo-${{ runner.os }}-${{ github.run_id }} + restore-keys: | + comfyui-manager-repo-${{ runner.os }}- + - name: Checkout ComfyUI-Manager repository uses: actions/checkout@v4 with: diff --git a/.github/workflows/update-registry-types.yaml b/.github/workflows/update-registry-types.yaml index 39a653697..c950101cb 100644 --- a/.github/workflows/update-registry-types.yaml +++ b/.github/workflows/update-registry-types.yaml @@ -24,9 +24,26 @@ jobs: node-version: lts/* cache: 'npm' + - name: Cache tool outputs + uses: actions/cache@v4 + with: + path: | + .cache + key: update-registry-tools-cache-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + update-registry-tools-cache-${{ runner.os }}- + - name: Install dependencies run: npm ci + - name: Cache comfy-api repository + uses: actions/cache@v4 + with: + path: comfy-api + key: comfy-api-repo-${{ runner.os }}-${{ github.run_id }} + restore-keys: | + comfy-api-repo-${{ runner.os }}- + - name: Checkout comfy-api repository uses: actions/checkout@v4 with: diff --git a/.github/workflows/vitest.yaml b/.github/workflows/vitest.yaml index 788b6aba4..e684ebbe4 100644 --- a/.github/workflows/vitest.yaml +++ b/.github/workflows/vitest.yaml @@ -17,6 +17,20 @@ jobs: uses: actions/setup-node@v4 with: node-version: 'lts/*' + cache: 'npm' + + - name: Cache tool outputs + uses: actions/cache@v4 + with: + path: | + .cache + coverage + .vitest-cache + key: vitest-cache-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}-${{ hashFiles('src/**/*.{ts,vue,js}', 'vitest.config.*', 'tsconfig.json') }} + restore-keys: | + vitest-cache-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}- + vitest-cache-${{ runner.os }}- + test-tools-cache-${{ runner.os }}- - name: Install dependencies run: npm ci