Commit Graph

8 Commits

Author SHA1 Message Date
snomiao
35ddb19a68 [ci] Upgrade actions/checkout from v4 to v5 (#5859)
## Summary
- Upgrades all GitHub Actions workflows to use `actions/checkout@v5` 
- Updates 33 instances across 17 workflow files
- Ensures we're using the latest version with security patches and
improvements

## Changes
Updated the following workflow files from `actions/checkout@v4` to
`actions/checkout@v5`:
- `.github/workflows/backport.yaml`
- `.github/workflows/chromatic.yaml`
- `.github/workflows/claude-pr-review.yml`
- `.github/workflows/create-release-candidate-branch.yaml`
- `.github/workflows/dev-release.yaml`
- `.github/workflows/devtools-python.yaml`
- `.github/workflows/i18n-custom-nodes.yaml`
- `.github/workflows/json-validate.yaml`
- `.github/workflows/lint-and-format.yaml`
- `.github/workflows/pr-playwright-deploy.yaml`
- `.github/workflows/pr-storybook-deploy.yaml`
- `.github/workflows/test-ui.yaml`
- `.github/workflows/update-electron-types.yaml`
- `.github/workflows/update-manager-types.yaml`
- `.github/workflows/update-registry-types.yaml`
- `.github/workflows/version-bump.yaml`
- `.github/workflows/vitest.yaml`

Note: `.github/workflows/publish-frontend-types.yaml` and
`.github/workflows/release.yaml` were already using v5.

## Test plan
- [ ] CI workflows should continue to run successfully
- [ ] No functional changes - this is a dependency version upgrade only

🤖 Generated with [Claude Code](https://claude.ai/code)

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-5859-ci-Upgrade-actions-checkout-from-v4-to-v5-27e6d73d3650815488adee20c74c0464)
by [Unito](https://www.unito.io)

Co-authored-by: Claude <noreply@anthropic.com>
2025-09-30 06:22:02 +00:00
snomiao
7862ae4b65 [bugfix] Fix lint-and-format workflow detached HEAD issue (#5305)
* [bugfix] Fix lint-and-format workflow detached HEAD issue

- Changed checkout ref from head.sha to head.ref to properly checkout PR branch
- This fixes the 'fatal: You are not currently on a branch' error when pushing auto-fixes
- The workflow was failing because it was in detached HEAD state and couldn't push commits

* [test] Intentionally break formatting to test CI/CD auto-fix

* [auto-fix] Apply ESLint and Prettier fixes

---------

Co-authored-by: GitHub Action <action@github.com>
2025-09-02 14:41:43 -07:00
Alexander Brown
1b83d6b5a6 Migration: pnpm (#5215)
* migration: npm to pnpm
Step 1, package and lockfile

* migration: npm to pnpm
Step 2: docs / LLM instructions

* migration: npm to pnpm
Step 3: More documentation updates

* migration: npm to pnpm
Step 4: Even more documentation

* migration: npm to pnpm
Step 5: GitHub Actions

* migration: npm to pnpm
Step 6: PNPM installation in actions. This merge is going to be painful.

* migration: npm to pnpm
Unignore and add pnpm lockfile.

* migration: npm to pnpm
package-lock.json -> pnpm-lock.yaml

* migration: explicit @primeuix/styled, move glob to prod deps

* migration: more explicit deps required by the importmap plugin and vite

* fix: missed merge artifact

* fix: Make sure pnpm is available to install wrangler

* migration: pnpm for dev-release.yaml

* migration: new setup action version
Won't work until that is updated and a new release is cut.

* migration: Playwright needs uuid

* migration: Add explicit deps for lobehub

* chore(version-bump.yaml): change cache from npm to pnpm to optimize package management and improve build performance

* migration: install pnpm in version-bump action

---------

Co-authored-by: snomiao <snomiao@gmail.com>
2025-08-27 06:10:15 -07:00
snomiao
62e06f4358 [ci] Enhance CI/CD caching across all workflows (#5117)
* [ci] Enhance CI/CD caching across all workflows

- Add tool cache steps for node_modules/.cache, .cache, and .eslintcache
- Enable npm caching for Node.js setup actions where missing
- Add cache configurations for ESLint, Prettier, Knip, and other build tools
- Improve build performance by caching tool outputs between runs
- Use unique cache keys per workflow to avoid conflicts

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* [ci] Enhance CI/CD caching with comprehensive improvements

Extends caching strategy beyond PR #5107 with additional optimizations:

- **i18n.yaml**: Add tool cache for locale generation workflow
- **update-electron-types.yaml**: Add tool cache for type updates
- **test-ui.yaml**: Add Playwright browser cache and Python pip cache
- **vitest.yaml**: Add coverage directory caching
- **chromatic.yaml**: Add Storybook static build cache
- **All build workflows**: Add TypeScript incremental build cache
- **Type generation workflows**: Add repository caching for external repos
- **lint-and-format.yaml**: Improve cache key granularity with source hash

Performance improvements:
- Playwright browser downloads cached across runs
- Python pip dependencies cached
- TSC incremental compilation cache preserved
- Storybook static builds cached
- External repository clones cached
- More granular cache invalidation based on source changes

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* [ci] Optimize CI/CD caching for better performance

- Enhance cache keys with more specific file patterns for better cache hit rates
- Add missing cache directories (.prettierCache, .knip-cache, .vitest-cache, tsconfig.tsbuildinfo)
- Improve cache key naming for clarity (lint-format, vitest, storybook, playwright)
- Add better fallback cache restore keys
- Include browser-specific caching for Playwright tests
- Add TypeScript build info caching across workflows

Expected improvements:
- 20-40% faster builds on cache hits
- More granular cache invalidation
- Better cache utilization across tools

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Apply suggestion from @DrJKL

Co-authored-by: Alexander Brown <drjkl@comfy.org>

* Apply suggestion from @DrJKL

Co-authored-by: Alexander Brown <drjkl@comfy.org>

* Apply suggestion from @DrJKL

Co-authored-by: Alexander Brown <drjkl@comfy.org>

* Apply suggestion from @DrJKL

Co-authored-by: Alexander Brown <drjkl@comfy.org>

* Apply suggestion from @DrJKL

Co-authored-by: Alexander Brown <drjkl@comfy.org>

* Apply suggestion from @DrJKL

Co-authored-by: Alexander Brown <drjkl@comfy.org>

* [ci] Remove redundant node_modules/.cache from workflow caches

setup-node already handles node_modules caching when cache: 'npm' is enabled.
Removed conflicting node_modules/.cache entries from:
- .github/workflows/lint-and-format.yaml
- .github/workflows/vitest.yaml
- .github/workflows/test-ui.yaml

This prevents cache conflicts and follows best practices for npm caching.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Update .github/workflows/chromatic.yaml

Co-authored-by: Alexander Brown <drjkl@comfy.org>

* Update .github/workflows/update-electron-types.yaml

Co-authored-by: Alexander Brown <drjkl@comfy.org>

* fix: address reviewer feedback on cache optimization PR (#5200)

* fix: remove duplicate cache entries and fix YAML formatting

- Remove duplicate path entries in dev-release.yaml
- Remove redundant node_modules/.cache entries since setup-node handles npm caching
- Fix YAML indentation issues across workflow files

Addresses reviewer feedback on PR #5117 about duplication and maintenance

* fix: add cache-dependency-path for setup-node in test-ui workflow

The test-ui workflow runs at repo root but package-lock.json is in ComfyUI_frontend/
subdirectory, causing setup-node cache to fail. Added cache-dependency-path to fix this.

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Alexander Brown <drjkl@comfy.org>
Co-authored-by: Christian Byrne <cbyrne@comfy.org>
2025-08-26 12:26:17 -07:00
snomiao
8646ca4162 [ci] Complete implementation of safe-to-fail CI steps (#5210)
* [ci] Make Playwright deploy step safe to fail

Add continue-on-error: true to Deploy to Cloudflare Pages step to prevent
Cloudflare API issues from blocking essential testing processes.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* [ci] Make lint-and-format comment steps safe to fail

Add continue-on-error: true to PR comment steps in lint workflow:
- Comment on PR about auto-fix (line 63)
- Comment on PR about manual fix needed (line 76)

This prevents GitHub API permission errors from blocking
essential linting processes while maintaining comment functionality.

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-08-26 09:25:35 -07:00
Chenlei Hu
c7baf3c340 [feat] Add knip for unused code detection (#4890) 2025-08-11 19:23:08 -07:00
Christian Byrne
1b9bacaeef [fix] Handle fork PRs in lint-and-format workflow (#4819) 2025-08-07 13:51:02 -07:00
snomiao
65cc06771c [ci] Merge ESLint and Prettier workflows with auto-fix for faster iteration (#4638) 2025-08-07 11:58:34 -07:00