Debug-action-cache -

- 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:

jobs: debug-cache: runs-on: ubuntu-latest env: ACTIONS_STEP_DEBUG: ${} ACTIONS_RUNNER_DEBUG: $ 'false' steps: - uses: actions/checkout@v4 debug-action-cache

- name: Inspect cache contents run: | echo "Listing cached Python site-packages" ls -la venv/lib/python3.9/site-packages/ | head -20 echo "Checking for stale binaries" find venv -name "*.so" -exec ls -lh {} \; Combine this with debug logs showing the restore key that was used. If you see Linux-pip-staging , you know the problem is branch isolation. If you find a corrupted cache, you cannot edit it. You must delete it. GitHub does not have a UI for deleting individual caches (as of 2025), but you can use the gh CLI or the delete-cache action. - name: Cache Node Modules uses: actions/cache@v4 env:

[debug] Resolved path: 'node_modules' -> '/home/runner/work/app/node_modules' [debug] Path exists: true [debug] Contents: [ 'react', 'lodash', '.bin' ] If you see Path exists: false , you know your working directory is wrong. Add working-directory: ./app to your step. You run a Windows runner and a Linux runner. They share the same cache key. Debug logs reveal: You must delete it