CI: Split the Build Job arm-05 into multiple smaller jobs #83
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.
Summary
CI Build Job
arm-05
(runtime 2 hours) has become the Performance Bottleneck for CI Workflow. That's becausearm-05
builds too many targets for nRF, RP2040, SAM 3, SAM A and SAM D. This PR splitsarm-05
into multiple smaller jobs, to reduce the CI Build Duration.Before the PR:
arm-05
is overloaded, build requires 2 hoursarm-05
(2 hours): nRF, RP2040, SAM 3, SAM A, SAM Darm-06
(56 mins): STM32 [a-m]*After the PR:
arm-05
is offloaded (toarm-06
andarm-07
), completes within 1 hourarm-05
(47 mins): nRFarm-06
(1 hour): Reserve for RP2040 exclusivelyarm-07
(1 hour 15 mins): SAM 3, SAM A, SAM D, STM32 [a-m]*Build Jobs are sorted by Target Name. So we cascade the changes and rename the Build Jobs:
arm-07
becomesarm-08
,arm-08
becomesarm-09
etc. Thenarm-13
becomes a new jobarm-14
. (Which we added tobuild.yml
)Performance of
arm-05
is discussed in apache#13775 and apache#12773Impact
With this PR, Arm32 Build Jobs will finish earlier:
Before the PR: Arm32 Build Jobs take between 29 mins (
arm-10
) to 2 hours (arm-05
) to complete.After the PR: Arm32 Build Jobs will take between 28 mins (
arm-11
) to 1 hour 15 mins (arm-07
) to complete.The Updated CI Workflow shall be synced to
nuttx-apps
repo in the next PR.Testing
We verified that Arm32 Build Jobs are executed successfully with the Updated CI Workflow: https://github.com/lupyuen5/label-nuttx/actions/runs/11240191619
Timings for the Arm32 Build Jobs:
Before the PR
After the PR