Which two properties of the 'runner' context are commonly used when composing OS-aware cache keys? (Choose two)
Select all correct answers, then click Submit.
Short Explanation and Infographic
runner.os and runner.arch distinguish platform and CPU architecture in cache keys. runner.token is not a runner context field for keys, and temperature is not a real property.
Full explanation below image
Full Explanation
The runner context includes os (for example Linux, Windows, macOS), arch (for example X64, ARM64), name, tool_cache, and temp among other fields. Cache keys frequently embed runner.os so Linux and Windows caches never collide, and increasingly embed runner.arch as ARM hosted runners become common. runner.token is not a documented runner context property used for cache keys (authentication uses GITHUB_TOKEN or secrets). runner.temperature does not exist. A typical key is ${{ runner.os }}-${{ runner.arch }}-node-${{ hashFiles('**/package-lock.json') }}. Using both os and arch prevents restoring incompatible native binaries across architectures on the same operating system family.