Debug-action-cache Guide
- name: Cache Node Modules uses: actions/cache@v4 env: CACHE_DEBUG: true with: path: node_modules key: $ runner.os -node-$ hashFiles('package-lock.json') V4 debug logs include timing metrics:
[debug] restoreKeys: [ 'Linux-pip-', 'Linux-' ] [debug] GET response for key 'Linux-pip-main-2d711b': 404 [debug] GET response for key 'Linux-pip-': 200 (Stored key: 'Linux-pip-staging-9c4a7b') Your hashFiles('requirements.txt') changed (maybe a whitespace change), causing the exact key to miss. The restore key Linux-pip- matched a cache from the staging branch instead of main . Step 3: Inspect Archive Contents (The Nuclear Option) Sometimes, cache restoration succeeds, but the data is wrong. The debug-action-cache logs won't show file contents. You need to manually inspect. debug-action-cache
curl -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer YOUR_GITHUB_TOKEN" \ "https://api.github.com/repos/OWNER/REPO/actions/caches" The response shows: - name: Cache Node Modules uses: actions/cache@v4 env: