Debug-action-cache
The Debug Action Cache is a caching layer that stores the results of debug actions, which are computational tasks executed during the debugging process. The cache is typically used to store the results of:
Let's map error symptoms to debug-action-cache insights. debug-action-cache
| Symptom | Debug Log Evidence | Fix |
| :--- | :--- | :--- |
| Cache never restores | GET response: 404 for all keys | Check hashFiles glob pattern. Use ls before cache step to ensure file exists. |
| Cache restores empty folder | Path '/cache/node_modules' does not exist | Your path is relative. Use absolute path or $ github.workspace /node_modules. |
| Cache upload takes 20 minutes | Compressing 50,000 files | You are caching temporary files (e.g., __pycache__). Add !**/__pycache__ to exclude. |
| Cache uses too much space | Cache size: 11.2GB (exceeds 10GB limit) | Split cache: One for node_modules, one for build. Use actions/cache/save conditionally. |
| Random cache misses | restoreKeys: [ 'Linux-node-' ] matches Linux-node-stable | Make your restore-keys more specific, e.g., $ runner.os -node-$ github.ref - | The Debug Action Cache is a caching layer
Self-hosted runners can persist caches on disk. debug-action-cache here means inspecting the runner's local drive. Self-hosted runners can persist caches on disk
# On the self-hosted machine
sudo find / -name "node_modules" -path "*/actions-runner/_work/*" -type d
You might find that previous jobs did not clean up, and the restore step is simply finding a local folder, bypassing the remote cache entirely.
gh cache delete <cache-id>