Hi All: We're rolling out enhancements to the CI Workflow, to skip the
unnecessary NuttX Builds for PRs. Right now we wait for the CI Builds to
complete across All Architectures (Arm32, Arm64, RISC-V, Xtensa), even
though our PR modifies a Single Architecture. With the enhancements, the CI
Workflow will build only the Modified Architecture.

The solution uses the Arch Labels for PRs. Initially we target only the
Simple PRs: One Arch Label + One Size Label (e.g. "Arch: risc-v, Size: XS")
(1) For "Arch: arm / arm64": We build `other`, `arm-01`, `arm-02`, ...
(2) For "Arch: risc-v": We build `risc-v-01`, `risc-v-02`
(3) For "Arch: xtensa": We build `xtensa-01`, `xtensa-02`
(4) The above rules apply when the PR is Created or Modified
(5) When the PR is Merged: All targets shall be built
(6) Next Week: We'll add the rules for Simulator and x86_64

For Simple PRs: The CI Build Duration is reduced by roughly 15 mins (down
to 2 hours). Bottleneck is now in the macOS builds, we might skip them for
Simple PRs.

The updated CI code is explained here:
https://github.com/apache/nuttx/issues/13775

Lup

Reply via email to