Before changing a workflow, an engineer wants to confirm which versions of a language runtime come preinstalled on the GitHub-hosted Ubuntu runner image so they can decide whether a setup step is even needed. What is the most reliable way to determine the preinstalled software for that image?
- AOpen the repository Settings and read the Actions runners page, which enumerates the preinstalled tools and version numbers for every GitHub-hosted image label.
- BRead the cache restore logs from a previous run, since the toolcache section records the complete inventory of language runtimes baked into the hosted image at build time.
- CInspect the runner image software manifest that GitHub publishes for each hosted image, which lists the preinstalled tools and their versions for that operating system. Correct
- DQuery the workflow run API for the runner object, whose properties field returns the preinstalled package list and version metadata for the hosted image that executed the job.
Why A is wrong: Tempting because runner configuration lives under Settings, but that page manages self-hosted runners and usage, and it does not publish the preinstalled software list for hosted images.
Why B is wrong: Tempting because the toolcache holds some runtimes, but cache logs only show what a step restored, not the full preinstalled manifest, and many tools live outside the toolcache.
Why C is correct: GitHub maintains a per-image software manifest in the runner images repository, and it authoritatively lists the preinstalled tools and versions for each hosted operating system image.
Why D is wrong: Tempting because the API exposes run details, but the runner object reports labels and status, not a preinstalled software inventory, so it cannot answer which versions ship on the image.