build_release_files: read the linker memory table when size.json is missing - #11314
Open
lynt-smitka wants to merge 1 commit into
Open
build_release_files: read the linker memory table when size.json is missing#11314lynt-smitka wants to merge 1 commit into
lynt-smitka wants to merge 1 commit into
Conversation
…issing
On pull requests the languages other than en_US are skipped when the
en_US build leaves 10 KB of headroom. That decision reads
firmware.size.json, which only the ports that run
tools/build_memory_info.py write (atmel-samd, nordic, stm, espressif,
analog, litex). raspberrypi, mimxrt10xx, broadcom, silabs, cxd56, renode
and zephyr-cp never write it, so the FileNotFoundError was swallowed and
every PR built all 17 languages for every board of those ports, however
much room they had.
All of them print the GNU ld memory usage table
("FLASH_FIRMWARE: 935364 B 1020 KB 89.55%"; zephyr calls the region
FLASH). Parse it from the make output as the fallback.
Measured: pajenicko_picopad (rp2, 190 KB free) 96 s -> 54 s per board
job. For a wide PR this is about 830 machine-minutes (zephyr-cp 635,
raspberrypi 150, mimxrt10xx 33, broadcom 16), and the zephyr-cp board
jobs, the longest of the run, drop from about 35 to about 12 minutes.
Push and release builds are unchanged.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
On pull requests the languages other than en_US are skipped when the en_US build leaves 10 KB of headroom. That reads firmware.size.json, which raspberrypi, mimxrt10xx, broadcom, silabs, cxd56, renode and zephyr-cp never write, so every PR builds all 17 languages for every board of those ports; a Pico 2 with 190 KB free included. Their link step prints the ld memory usage table (FLASH_FIRMWARE: 1378984 B 1532 KB 87.90%), so when size.json is missing the used and region sizes are taken from that line instead.