← AUTOMATER NEWSROOM

GitHub Actions Ends ARM32 Hosted-Runner Support by Dec. 8, 2026: Workflows Pinned to arm32 Labels Will Stop Running

GitHub says hosted Actions runners stop ARM32 job execution on Windows and Linux by Dec. 8, 2026, after node20's end of support, because Node 24 dropped ARM32. Here is how to find affected workflows and what to migrate to.

Illustration of the GitHub Actions ARM32 retirement deadline, showing an ARM32 hosted-runner job that stops on December 8, 2026 and its migration destinations.Illustration of the GitHub Actions ARM32 retirement deadline, showing an ARM32 hosted-runner job that stops on December 8, 2026 and its migration destinations.
GitHub's changelog announcement of Nov. 12, 2026 states that hosted Actions runners end ARM32 job execution on Windows and Linux by Dec. 8, 2026 following node20 end of support.

GitHub has put a date on it: hosted Actions runners will stop executing ARM32 jobs on Windows and Linux by December 8, 2026. The change, announced in the GitHub changelog on Nov. 12, also removes support for native AArch32 user-space execution on hosted runners. Any workflow still pinned to an ARM32 configuration stops running that day unless it has moved to ARM64 or a self-hosted runner.

Why a runner change is really a Node change

GitHub ties the deadline directly to its runner runtime: the changelog says the retirement “follows our end of support for node20 where Node 24 does not support ARM32.” JavaScript actions execute on the Node runtime bundled with the runner, so when GitHub moves the hosted runner off node20, the runtime it can ship no longer covers 32-bit ARM. That collapses two deprecations into one date: the runner image and the execution environment for every action step running under it.

The scope matters. This is not only about operating systems that GitHub happens to image for 32-bit ARM — it is the removal of AArch32 user-space execution from hosted runners entirely. A job that shells out to a 32-bit ARM binary inside a container on a hosted runner is also in scope.

The GitHub Changelog page of November 12, 2026 announcing that GitHub Actions hosted runners will end ARM32 job execution on Windows and Linux by December 8, 2026.
GitHub's changelog announcement of Nov. 12, 2026, which states that hosted Actions runners end ARM32 job execution on Windows and Linux by Dec. 8, 2026 following node20 end of support. · Original source

What is actually available to migrate to

The actions/runner-images repository, which GitHub documents as the source of truth for hosted image labels, currently lists only two architectures: x64 and arm64. There is no 32-bit ARM image and, per the announcement, there will be no AArch32 execution path. The practical destinations are:

Today After Dec. 8, 2026
ARM32 job on a hosted runner ubuntu-24.04-arm or ubuntu-26.04-arm (arm64), or a self-hosted AArch32 runner
32-bit ARM binary invoked on a hosted runner Rebuild for arm64, run under emulation on arm64/x64, or move the job to self-hosted AArch32 hardware
ARM32 target cross-compiled on x64 Unaffected — cross-compilation runs on the host architecture, not the target

The last row is worth pausing on. Teams that build ARM32 artifacts on x64 runners with a cross toolchain are not executing ARM32 code, so they keep working. The breakage hits jobs that genuinely execute ARM32 code — most commonly embedded-firmware smoke tests, QEMU user-mode runs, and legacy device test lanes.

Diagram of migration destinations for GitHub Actions ARM32 jobs before the December 8, 2026 deadline.Diagram of migration destinations for GitHub Actions ARM32 jobs before the December 8, 2026 deadline.
Routing affected workflows before GitHub's Dec. 8, 2026 ARM32 cutoff, based on the changelog announcement and runner image documentation.

A 30-minute audit before you depend on the deadline

  1. Search for ARM32 pins. Grep your organization’s workflows for arm32, armv7, aarch32, and any runner label or container image that resolves to a 32-bit ARM environment. Include reusable workflows and any action pinned by SHA that internally selects a container.
  2. Check what your containers actually run. A job can say ubuntu-24.04 and still fail if its container image or a step invokes a 32-bit ARM binary. That is the AArch32 user-space removal, and it will not show up in a label search.
  3. Classify each hit: execute or cross-compile. Only true execution lanes need to move. Cross-compilation lanes need no change.
  4. Pick a destination and test now. Arm64 hosted labels (ubuntu-24.04-arm, windows-11-arm) cover 64-bit migration; self-hosted AArch32 hardware is the only GitHub-documented path for genuine 32-bit execution after the deadline.
  5. Budget for custom images if you are on Team or Enterprise Cloud. GitHub’s docs note that larger runners support custom images built from the GitHub-provided base, billed at the same per-minute rate as the underlying runner, with storage metered through Actions billing — a way to keep a specialized environment without self-hosting.

The operator lesson: runtime floors arrive with dates, not option flags

This is the third breaking Actions change in six weeks to land on a named date. macOS 14 images retired on Nov. 2, pull_request_target flips to blocked-by-default on Dec. 2, and ARM32 execution dies Dec. 8. The pattern for anyone running agent-driven CI is consistent — deprecations increasingly arrive as calendar cutoffs on infrastructure you did not pin yourself, which is exactly why a trigger allowlist for agent identities should be reviewed whenever the hosted platform changes defaults. GitHub’s own image policy in runner-images says tools are typically removed six months after end-of-life, and that high-impact changes get changelog announcements in advance; the node20 clock ran out and took ARM32 with it.

Availability itself is also a moving target: the Oct. 5 hosted-runner degradation left 47% of workflow runs failing at peak, a reminder that the lane you migrate onto is still shared infrastructure.

The concrete action: run the audit above this week, and treat any hit that executes 32-bit ARM as a migration project, not a config tweak. December 8 is close enough that a failed embedded test lane discovered on December 9 will cost you more than the migration does today.

Sources

  1. Actions for ARM32 Linux & Windows retirement - GitHub Changelog
  2. GitHub - actions/runner-images: GitHub Actions runner images · GitHub
  3. GitHub-hosted runners - GitHub Docs