Skip to content

ci: cache a port's submodules in an entry of their own - #11345

Merged
tannewt merged 1 commit into
adafruit:mainfrom
MakerClassCZ:ci-port-submodule-cache
Sep 11, 2026
Merged

tannewt merged 1 commit into
adafruit:mainfrom
MakerClassCZ:ci-port-submodule-cache

Conversation

@lynt-smitka

@lynt-smitka lynt-smitka commented Sep 11, 2026

Copy link
Copy Markdown

every board job of a port clones the port's submodules over the network: stm's 29 CMSIS and HAL repositories take 59 seconds a job, raspberrypi's sdk, lwip, cyw43 and PicoDVI 17 seconds, 159 times per full run. The submodule cache holds extmod/ulab, lib/ and tools/ only.

Board jobs of stm, raspberrypi and mimxrt10xx now get a second entry, submodules-<port>-<hash>, with .git/modules/ports/<port> and the port's submodule paths. The first job of a port to miss saves it, the rest read it. The common cache stays as it is.

Measured on my fork, warm:

port before after entry
stm 59 s 9 s 203 MB
raspberrypi 17 s 5 s 49 MB
mimxrt10xx 22 s 8 s 126 MB

espressif keeps its own submodules-idf cache for now; it could move to this mechanism in a follow-up if you want.

Every board job of a port cloned the port's submodules over the network:
stm's 29 CMSIS and HAL repositories take 59 seconds a job, raspberrypi's
sdk, lwip, cyw43 and PicoDVI 17 seconds, 159 times per full run. The
common submodule cache holds extmod/ulab, lib/ and tools/ and stays as it
is; board jobs add a second entry with ports/<port>, keyed by the port
and the state of its submodules. espressif and zephyr-cp keep their own
arrangements.

@dhalbert dhalbert left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense! Thanks!

@dhalbert
dhalbert requested a review from tannewt September 11, 2026 14:55

@tannewt tannewt left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome!

@tannewt
tannewt merged commit b616596 into adafruit:main Sep 11, 2026
1369 of 1370 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.

3 participants