-
Notifications
You must be signed in to change notification settings - Fork 390
CI: Remove .cache caching from GitHub Actions workflows #6097
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CI: Remove .cache caching from GitHub Actions workflows #6097
Conversation
🎭 Playwright Test Results⏰ Completed at: 10/20/2025, 03:59:28 PM UTC 📈 Summary
📊 Test Reports by Browser
🎉 Click on the links above to view detailed test results for each browser configuration. |
🎨 Storybook Build Status✅ Build completed successfully! ⏰ Completed at: 10/20/2025, 03:47:41 PM UTC 🔗 Links🎉 Your Storybook is ready for review! |
Bundle Size ReportSummary
Category Glance Per-category breakdownApp Entry Points — 3.31 MB (baseline 3.31 MB) • ⚪ 0 B_Main entry bundles and manifests_ | File | Before | After | Δ Raw | Δ Gzip | Δ Brotli | | ------------------------ | ------- | ------- | ------------------ | ------------------ | ------------------ | | assets/index-BF98DELv.js | 2.69 MB | 2.69 MB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/index-Oc6FsrEY.js | 616 kB | 616 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B |Graph Workspace — 707 kB (baseline 707 kB) • ⚪ 0 B_Graph editor runtime, canvas, workflow orchestration_ | File | Before | After | Δ Raw | Δ Gzip | Δ Brotli | | ---------------------------- | ------ | ------ | ------------------ | ------------------ | ------------------ | | assets/GraphView-VsdP2Gw4.js | 707 kB | 707 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B |Views & Navigation — 8.15 kB (baseline 8.15 kB) • ⚪ 0 B_Top-level views, pages, and routed surfaces_ | File | Before | After | Δ Raw | Δ Gzip | Δ Brotli | | --------------------------------- | ------- | ------- | ------------------ | ------------------ | ------------------ | | assets/UserSelectView-DMJFvUHL.js | 8.15 kB | 8.15 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B |Panels & Settings — 294 kB (baseline 294 kB) • ⚪ 0 B_Configuration panels, inspectors, and settings screens_ | File | Before | After | Δ Raw | Δ Gzip | Δ Brotli | | ------------------------------------ | ------- | ------- | ------------------ | ------------------ | ------------------ | | assets/AboutPanel-R8soUVEk.js | 10.3 kB | 10.3 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/CreditsPanel-Ph2eVkIo.js | 22.1 kB | 22.1 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/ExtensionPanel-CR6D8lYs.js | 12.1 kB | 12.1 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/KeybindingPanel-Cy-10Gme.js | 15.2 kB | 15.2 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/ServerConfigPanel-W3IQZs4m.js | 8.2 kB | 8.2 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/settings-B-df0dZe.js | 20.7 kB | 20.7 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/settings-CI6OKvJn.js | 22.9 kB | 22.9 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/settings-CXGVj_nD.js | 24.5 kB | 24.5 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/settings-DfQ6dSJj.js | 31.6 kB | 31.6 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/settings-DJ2QgDzm.js | 25.2 kB | 25.2 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/settings-DRNLPMG6.js | 23.7 kB | 23.7 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/settings-DVVycxDc.js | 19.9 kB | 19.9 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/settings-G6Dybj1b.js | 24.1 kB | 24.1 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/settings-M6_GZccG.js | 26 kB | 26 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/UserPanel-CTlUle_0.js | 7.91 kB | 7.91 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B |UI Components — 12.3 kB (baseline 12.3 kB) • ⚪ 0 B_Reusable component library chunks_ | File | Before | After | Δ Raw | Δ Gzip | Δ Brotli | | ----------------------------------------------------------------- | ------- | ------- | ------------------ | ------------------ | ------------------ | | assets/ComfyQueueButton-Bm-0vk2R.js | 11.1 kB | 11.1 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/UserAvatar.vue_vue_type_script_setup_true_lang-C9bSkTC5.js | 1.12 kB | 1.12 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B |Data & Services — 10 kB (baseline 10 kB) • ⚪ 0 B_Stores, services, APIs, and repositories_ | File | Before | After | Δ Raw | Δ Gzip | Δ Brotli | | ------------------------------------ | ------- | ------- | ------------------ | ------------------ | ------------------ | | assets/keybindingService-BC_WyRxV.js | 7.21 kB | 7.21 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/serverConfigStore-B1bw4Pe0.js | 2.79 kB | 2.79 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B |Utilities & Hooks — 1.07 kB (baseline 1.07 kB) • ⚪ 0 B_Helpers, composables, and utility bundles_ | File | Before | After | Δ Raw | Δ Gzip | Δ Brotli | | --------------------------- | ------- | ------- | ------------------ | ------------------ | ------------------ | | assets/mathUtil-CTARWQ-l.js | 1.07 kB | 1.07 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B |Vendor & Third-Party — 5.36 MB (baseline 5.36 MB) • ⚪ 0 B_External libraries and shared vendor chunks_ | File | Before | After | Δ Raw | Δ Gzip | Δ Brotli | | --------------------------------------- | ------- | ------- | ------------------ | ------------------ | ------------------ | | assets/vendor-other-kaNE-JGc.js | 3.22 MB | 3.22 MB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/vendor-primevue-PESgPnbc.js | 517 B | 517 B | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/vendor-tiptap-DKA7Hxfn.js | 232 kB | 232 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/vendor-visualization-BEfdbjRw.js | 1.82 MB | 1.82 MB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/vendor-vue-QImF2beP.js | 92.4 kB | 92.4 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B |Other — 2.79 MB (baseline 2.79 MB) • ⚪ 0 B_Bundles that do not match a named category_ | File | Before | After | Δ Raw | Δ Gzip | Δ Brotli | | --------------------------- | ------- | ------- | ------------------ | ------------------ | ------------------ | | assets/commands-B2KZRBmX.js | 15.1 kB | 15.1 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/commands-Bw-ckyga.js | 13.9 kB | 13.9 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/commands-C_NmM85I.js | 13.8 kB | 13.8 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/commands-CuozCW4W.js | 14 kB | 14 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/commands-DGfVUJCR.js | 16.2 kB | 16.2 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/commands-dOJNDogK.js | 14.5 kB | 14.5 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/commands-DwiE551e.js | 14.7 kB | 14.7 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/commands-Fw7mvqSy.js | 13.1 kB | 13.1 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/commands-FXnO1W4Q.js | 13.2 kB | 13.2 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/main-6UgCUkrV.js | 108 kB | 108 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/main-BfHN1fzx.js | 125 kB | 125 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/main-BhulUfFD.js | 77.5 kB | 77.5 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/main-BPHe683n.js | 92.4 kB | 92.4 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/main-C75C4LWt.js | 90.9 kB | 90.9 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/main-CEhf19j2.js | 99.4 kB | 99.4 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/main-CipazGd8.js | 79.3 kB | 79.3 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/main-CKz_lTAz.js | 94.3 kB | 94.3 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/main-Dzm38Va4.js | 90.3 kB | 90.3 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/nodeDefs-BePSqkA4.js | 195 kB | 195 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/nodeDefs-BfT7dJcF.js | 204 kB | 204 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/nodeDefs-BiAtoiXc.js | 194 kB | 194 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/nodeDefs-CDfbduPY.js | 219 kB | 219 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/nodeDefs-CDurg_KW.js | 197 kB | 197 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/nodeDefs-CE-vG3RG.js | 182 kB | 182 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/nodeDefs-DAwVV156.js | 200 kB | 200 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/nodeDefs-DexhCMEi.js | 233 kB | 233 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | | assets/nodeDefs-kTrYLFPK.js | 184 kB | 184 kB | ⚪ 0 B | ⚪ 0 B | ⚪ 0 B | |
📊 Performance Analysis: Removal ImpactI've completed comprehensive performance testing to measure the impact of removing 🎯 Executive SummaryRecommendation: ✅ Proceed with removing Impact: Minimal to slightly positive performance impact (-1.2% total time on average) 📈 Performance Results
🔍 Key Findings
✅ What Caching Remains (and why it's better)This change preserves all effective caching:
🧪 MethodologyTwo test commits measured real-world performance on GitHub Actions runners:
Test runs:
📖 Full DocumentationComprehensive analysis available at: ✨ Benefits of This Change✅ No performance degradation Conclusion: The data supports proceeding with this PR. Removing |
Co-authored-by: snomiao <[email protected]>
This commit temporarily restores .cache caching to establish a baseline for performance comparison. The next commit will remove it again to measure the performance impact. Testing approach: 1. This commit: WITH .cache (baseline) 2. Next commit: WITHOUT .cache (comparison) 3. Analysis: Compare CI run times to quantify cache impact
…TH cache" This reverts commit 84b4956.
Documents the empirical testing and performance impact of removing .cache directory caching from GitHub Actions workflows. Key findings: - Removing .cache had minimal to slightly positive impact (-1.2%) - Cache miss rate was 100% during testing - Tool-specific caches remain and are more effective - Recommendation: Proceed with removal See docs/ci/remove-dot-cache.md for full analysis.
f9c8f81
to
846fb87
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was thinking more getting rid of the whole actions/cache
step in these cases, not just the .cache directory
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done!
benchmark updated into pr desc
This commit removes the entire actions/cache steps (not just .cache directory) from all workflow files to measure the true performance impact of caching vs no caching. Changes: - ci-lint-format.yaml: Removed tool outputs cache - ci-tests-storybook.yaml: Removed storybook build cache (both jobs) - ci-tests-unit.yaml: Removed coverage and vitest cache - api-update-electron-api-types.yaml: Removed tsbuildinfo cache - api-update-manager-api-types.yaml: Removed tool cache and repo cache - api-update-registry-api-types.yaml: Removed tool cache and repo cache - release-draft-create.yaml: Removed tsbuildinfo cache - release-pypi-dev.yaml: Removed dist and tsbuildinfo cache Note: pnpm package caching via setup-node still remains active. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
This reverts commit 38695ae.
This reverts commit ab16635.
Overview
Removes all
actions/cache
steps from GitHub Actions workflows after empirical testing showed that they actually slow down CI/CD by 11% rather than speeding it up.Context
As discussed in #5988, the codebase has evolved with components moving into the
/packages
directory structure. The review comment suggested removing the entireactions/cache
step rather than just the.cache
path to properly evaluate performance impact.Performance Benchmark Results
Empirical testing on this PR (commits 38695ae vs ab16635) revealed that removing cache steps improves CI performance across all workflows:
Why is caching slower?
Changes
Removed the entire
actions/cache
step from 8 workflow files:ci-lint-format.yaml
- Removed tool outputs cache (.eslintcache, .prettierCache, .knip-cache, tsconfig.tsbuildinfo)ci-tests-storybook.yaml
- Removed storybook-static and tsconfig.tsbuildinfo cache (both jobs)ci-tests-unit.yaml
- Removed coverage and .vitest-cacheapi-update-electron-api-types.yaml
- Removed tsconfig.tsbuildinfo cacheapi-update-manager-api-types.yaml
- Removed tool cache and ComfyUI-Manager repo cacheapi-update-registry-api-types.yaml
- Removed tool cache and comfy-api repo cacherelease-draft-create.yaml
- Removed tsconfig.tsbuildinfo cacherelease-pypi-dev.yaml
- Removed dist and tsconfig.tsbuildinfo cacheWhat remains cached:
cache: 'pnpm'
in setup-node actions (the most valuable cache)Testing
Conclusion
The benchmark data clearly shows that removing
actions/cache
steps results in faster, simpler CI workflows. The overhead of cache management exceeds any benefit, especially with pnpm package caching already handling the most time-consuming dependency installations.Recommendation: ✅ Proceed with this change
Test Methodology
actions/cache
steps → Workflow runactions/cache
steps → Workflow runFixes #5988