Compare two logs using a diff tool. Look for absolute paths that should be relative, or environment variables like PATH or PWD that differ between developer machines. 2. Analyzing the "Action Key"
const primaryKey = 'node-cache-linux-14-abc123'; const restoreKeys = ['node-cache-linux-14-'];
- uses: actions/cache@v3 with: path: node_modules key: $ runner.os -node-$ hashFiles('package-lock.json') restore-keys: | $ runner.os -node-
gh api repos/owner/repo/actions/caches --jq '.actions_caches[] | key: .key, size: .size_in_bytes, last_accessed_at: .last_accessed_at'
Now even if exact key misses, it restores the most recent linux-npm-* cache.
The action cache is a map that stores a key-value pair for every command (action) Bazel runs: