GitHub-hosted runners, as they actually are
Every runner image below is captured once a day with Nyrvo and committed to a public repository. What each mark in the table means is spelled out beneath it: the three kinds of "no version here" are different facts about a machine, and a workflow that treats them alike is the reason this page exists.
A commit exists only when something actually changed, so
git log on that repository is the history. Changed
below is the date each image last moved.
| macos-15 | macos-latest | ubuntu-22.04 | ubuntu-24.04 | ubuntu-latest | windows-latest | |
|---|---|---|---|---|---|---|
| system | ||||||
| os/arch | darwin/arm64 | darwin/arm64 | linux/amd64 | linux/amd64 | linux/amd64 | windows/amd64 |
| runtimes | ||||||
| go | — | — | 1.24.13 | 1.24.13 | 1.24.13 | 1.24.13 |
| node | 22.23.2 | 24.21.0 | 22.23.3 | 22.23.3 | 22.23.3 | 22.23.3 |
| python | 3.14.7 | 3.15.0 | 3.10.12 | 3.12.3 | 3.12.3 | 3.12.10 |
| ruby | 3.3.12 | 3.4.11 | 3.0.2 | 3.2.3 | 3.2.3 | 3.3.12 |
| php | — | — | 8.1.2 | 8.3.6 | 8.3.6 | 8.5.11 |
| rust | 1.98.1 | 1.99.0 | 1.99.0 | 1.99.0 | 1.99.0 | 1.99.0 |
| java | 21.0.12.1 | 21.0.12.1 | 11.0.32.1 | 17.0.20.1 | 17.0.20.1 | 17.0.20.1 |
| dotnet | 10.0.400 | 10.0.401 | 10.0.401 | 10.0.401 | 10.0.401 | 10.0.401 |
| package managers | ||||||
| npm | 10.9.8 | 11.19.0 | 10.9.9 | 10.9.9 | 10.9.9 | 10.9.9 |
| pnpm | — | — | — | — | — | — |
| yarn | 1.22.22 | 1.22.22 | 1.22.22 | 1.22.22 | 1.22.22 | 1.22.22 |
| composer | — | — | 2.10.3 | 2.10.3 | 2.10.3 | 2.10.3 |
| containers | ||||||
| docker engine | — | — | 28.0.4 | 28.0.4 | 28.0.4 | 29.7.2 |
| docker compose | — | — | 2.38.2 | 2.38.2 | 2.38.2 | 2.40.3 |
| changed | ||||||
| changed | 2026-09-10 | 2026-10-15 | 2026-10-08 | 2026-10-09 | 2026-10-09 | 2026-10-16 |
- —
- the image does not carry that tool
- ?
- the probe did not answer in time, so this is unknown rather than ruled out
- !
- installed, but would not report a version
Environment variable names are recorded too, in the linked JSON. Their values are not, and never were: Nyrvo does not read them, which is what makes publishing a runner's environment safe at all.