You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 1db3a7a
Browse filesBrowse the repository at this point in the historyBrowse files
Cache the Arm FVP and toolchain downloads in the CI images (#24585)
Every CI job that runs examples/arm/setup.sh still downloads the default
FVPs and the Arm GNU toolchain from developer.arm.com, about 394 MB, and
the
NXP MCUXpresso test fetches the same toolchain with wget. Arm has asked
us
to stop hitting their CDN this often, and the pinned versions change a
few
times a year, so the CI images can carry them.
download_with_retry now looks in ARM_SETUP_DOWNLOAD_CACHE first. A file
there named after the URL is copied instead of downloaded, but only when
it
matches the pinned MD5, so a stale cache costs a download, never a wrong
archive. Each miss is logged as a GitHub warning, so a cache that stops
matching shows up on the run. The NXP script copies its toolchain from
the
same place.
The arm-sdk and zephyr-sdk images fill /opt/arm-download-cache at build
time with the Corstone-300 and Corstone-320 FVPs and the arm-none-eabi
toolchain, sourcing the same fvp_utils.sh and toolchain_utils.sh as
setup.sh, which build.sh copies into the build context as it already
does
for requirements-lintrunner.txt. The fill is best effort, so an outage
of
Arm's CDN cannot break the image build for jobs that never download from
it.
The image tag only hashes .ci/docker, so docker-builds.yml also triggers
on
those two files and a pin bump on main rebuilds the images under the
same
tag. Until a job gets the rebuilt image it downloads and warns: during
the
rebuild, on runner nodes that still hold the old image, on PRs based
before
the bump, and after a ciflow/docker build of a pin-bump PR, which
overwrites
main's images until the next main or weekly rebuild. Images are rebuilt
about once a day, mostly for the PyTorch pin PR, so image builds still
make
roughly ten downloads a day, against about 10,000 from jobs before.
Authored with Claude Code.
cc @digantdesai@freddan80@per@zingo@oscarandersson8218@mansnils@Sebastian-Larsson@robell
0 commit comments