Skip to content

build-system: fix RIOTBOOT_SKIP_COMPILE#21938

Merged
maribu merged 2 commits intoRIOT-OS:masterfrom
maribu:riotboot/allow-skip-implicit-build
Dec 8, 2025
Merged

build-system: fix RIOTBOOT_SKIP_COMPILE#21938
maribu merged 2 commits intoRIOT-OS:masterfrom
maribu:riotboot/allow-skip-implicit-build

Conversation

@maribu
Copy link
Copy Markdown
Member

@maribu maribu commented Dec 5, 2025

Contribution description

The RIOTBOOT_SKIP_COMPILE flag is already present in our code base, but it did not really result in compilation of riotboot as a dependency of another app to be skipped.

This fixes the issue and allows users to explicitly build riotboot for a given set of boards upfront, and then build any number of apps depending on riotboot to be build with RIOTBOOT_SKIP_COMPILE=1 and cutting the compilation time in half.

This is particularly valuable as various parameters such as RIOT_CI_BULLD or CCACHE do not get passed down to the implicit riotboot build. In a CI that makes use of CCACHE, this results in the CI time quickly being dominated by implicit builds of riotboot when many apps use SUIT.

Testing procedure

Running

make RIOT_CI_BUILD=1 BOARD=same54-xpro RIOTBOOT_SKIP_COMPILE=1 -C examples/advanced/suit_update -j

in master results in riotboot to be build (which can easily be noticed by that build ignoring RIOT_CI_BUILD=1 and being more verbose). With this PR the implicit build of riotboot indeed does not occur (which easily can be seen by the faster compilation time and the less verbose output).

Issues/PRs references

None

@maribu maribu added Type: bug The issue reports a bug / The PR fixes a bug (including spelling errors) Area: build system Area: Build system CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR labels Dec 5, 2025
@riot-ci
Copy link
Copy Markdown

riot-ci commented Dec 5, 2025

Murdock results

✔️ PASSED

0bbd23b build-system: create riotboot.extended.bin in BINDIR_RIOTBOOT

Success Failures Total Runtime
10950 0 10950 10m:41s

Artifacts

The RIOTBOOT_SKIP_COMPILE flag is already present in our code base, but
it did not really result in compilation of `riotboot` as a dependency of
another app to be skipped.

This fixes the issue and allows users to explicitly build riotboot for
a given set of boards upfront, and then build any number of apps
depending on `riotboot` to be build with `RIOTBOOT_SKIP_COMPILE=1` and
cutting the compilation time in half.

This is particularly valuable as various parameters such as
`RIOT_CI_BULLD` or `CCACHE` do not get passed down to the implicit
`riotboot` build. In a CI that makes use of `CCACHE`, this results in
the CI time quickly being dominated by implicit builds of `riotboot`
when many apps use SUIT.
This allows two apps using RIOTBOOT being build for the same board in
parallel to not step on each others toes.
@maribu maribu force-pushed the riotboot/allow-skip-implicit-build branch from ab6c401 to 0bbd23b Compare December 8, 2025 13:07
@maribu maribu added this pull request to the merge queue Dec 8, 2025
Merged via the queue into RIOT-OS:master with commit 1d0a275 Dec 8, 2025
25 checks passed
@maribu maribu deleted the riotboot/allow-skip-implicit-build branch December 8, 2025 18:55
@maribu
Copy link
Copy Markdown
Member Author

maribu commented Dec 8, 2025

Thx ❤️

@leandrolanzieri leandrolanzieri added this to the Release 2026.01 milestone Jan 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: build system Area: Build system CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Type: bug The issue reports a bug / The PR fixes a bug (including spelling errors)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants