Skip to content

CI: Arm's 13.2.Rel1 toolchain tarball (cached) on the QEMU legs instead of apt gcc-arm-none-eabi - #82

Merged
tap merged 2 commits into
mainfrom
ci/arm-toolchain-tarball
Oct 2, 2026
Merged

tap merged 2 commits into
mainfrom
ci/arm-toolchain-tarball

Conversation

@tap

@tap tap commented Oct 1, 2026

Copy link
Copy Markdown
Owner

The Cortex-M33 and M55 legs stop depending on Ubuntu's gcc-arm-none-eabi package.

Why. That package pulls the 463 MB libstdc++-arm-none-eabi-newlib from the runner's Azure mirror, and the fetch stalled past the 15-minute step limit three times today (#81 twice, #80 once) after eating two 45-minute legs on #67. #72's retries and timeout made the stall cheap; this makes it go away.

What. Both legs restore arm-gnu-toolchain-13.2.rel1-x86_64-arm-none-eabi from the Actions cache, or on a miss download it from Arm (179 MB, curl with retries and a connect timeout), verify it against Arm's published .sha256asc, extract it under $RUNNER_TEMP, and put its bin on PATH. The toolchain files already name arm-none-eabi-gcc / g++ by bare name, so nothing else changes. Only qemu-system-arm still comes from apt (small). The cache action is the same pinned v5 SHA the repo already uses.

The check. It is the same upstream release Ubuntu noble packages (15:13.2.rel1-2), so the mutap_fingerprint and icount gates on this PR's own run are the evidence that the M33 / M55 numerics did not move. If a leg's fingerprint lines or icount baselines do move, this PR does not re-record them — that would mean Debian's build differs from Arm's, and it gets reported instead.

🤖 Generated with Claude Code

https://claude.ai/code/session_01DDhgJqxUsdmWPKh6pKrV5A

tap and others added 2 commits October 1, 2026 15:28
…nstead of apt gcc-arm-none-eabi

Ubuntu's gcc-arm-none-eabi pulls the 463 MB libstdc++-arm-none-eabi-newlib
package from the runner's Azure mirror. That fetch stalled past the
15-minute step limit three times on 2026-10-01 (#81 twice,
#80 once) after eating two 45-minute legs on #67. Both
Cortex legs now restore Arm's arm-gnu-toolchain-13.2.rel1-x86_64-arm-none-eabi
from the Actions cache, or download it (179 MB from Arm's CDN, curl with
retries, verified against Arm's published sha256) on a miss, and put its
bin on PATH; only qemu-system-arm still comes from apt. It is the same
upstream release Ubuntu noble packages (15:13.2.rel1-2), so the
fingerprint and icount gates on this PR's own run are the check that the
numerics did not move.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DDhgJqxUsdmWPKh6pKrV5A
…me cached tarball

Its own apt install of gcc-arm-none-eabi stalled on the 463 MB
libstdc++-arm-none-eabi-newlib fetch and was cancelled at the job's
60-minute limit on this PR's first run (job 110569401398); the mirror
served the 11 MB qemu-system-arm package in two minutes on the same run.
Same cache key and download step as the Cortex legs; the apt step keeps
qemu-system-arm and the plugin build dependencies, with retries and
timeouts.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DDhgJqxUsdmWPKh6pKrV5A
@tap
tap merged commit bd4999b into main Oct 2, 2026
36 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant