What changed
GitHub has moved its Ubuntu 26.04 hosted runner image out of public preview and into general availability for x64 and arm64. The explicit labels are `ubuntu-26.04` and `ubuntu-26.04-arm`. More importantly, GitHub will gradually move the floating `ubuntu-latest` label from Ubuntu 24.04 to Ubuntu 26.04 between October 19 and November 19, 2026. Jobs that continue using `ubuntu-latest` will therefore change base operating system during that rollout without a workflow-file change.
Why it matters
Many CI pipelines implicitly depend on the packages, compilers, runtimes and command-line tools preinstalled in GitHub's hosted images. Ubuntu 26.04 updates and removes some of those components. A workflow that looks pinned because its YAML has not changed can consequently start failing when `ubuntu-latest` moves. The month-long gradual rollout also means two otherwise identical runs may encounter different images during migration, making hidden environment assumptions harder to diagnose.
Ubuntu 26.04 is available for explicit testing now
Teams can opt into the new image immediately with `runs-on: ubuntu-26.04`, or use `ubuntu-26.04-arm` for arm64. That gives maintainers a pre-migration window to run existing workflows against the environment that will become the default.
`ubuntu-latest` changes between October 19 and November 19
GitHub says the floating label will migrate gradually from Ubuntu 24.04 to 26.04 across this period. Workflows that use the label do not need a repository change to move; the runner selection changes underneath them as GitHub rolls out the new default.
Preinstalled-tool assumptions are the main compatibility risk
GitHub explicitly warns that Ubuntu 26.04 contains updated and, in some cases, removed tools and tool versions compared with the previous image. Builds that call a preinstalled binary or assume a particular system library, compiler or runtime can therefore fail even when application dependencies are otherwise locked.
Pinning 24.04 buys migration time
Teams that cannot move by the rollout can replace the floating label with `ubuntu-24.04`. That avoids the automatic OS jump, but it also turns the decision into an explicit migration that will eventually need its own maintenance plan.