[FEATURE] Revising the Arm32 Targets for CI Build
- Dominant language
- C
- Stars
- 4k
- Forks
- 1.7k
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 237
Description
### Is your feature request related to a problem? Please describe.
Over the weekend we had CI Build Issues that took a while to resolve:
- https://github.com/apache/nuttx/pull/14229
- https://github.com/apache/nuttx/pull/14252
- https://github.com/apache/nuttx-apps/pull/2716
- https://github.com/apache/nuttx-apps/pull/2720
Our CI Build for Arm32 Targets requires 2.5 hours to run (`arm-01` to `arm-14`). It takes some time to catch all the errors, patch them, re-run the build. And we might hit errors again. Let's improve this.
### Describe the solution you'd like
What if we could validate the defconfig files earlier, before any builds? (Suggested by @GUIDINGLI)
- Might be possible, I'll check through the CI Build Script (Done! See the PR below)
Do we really need to build so many Arm32 Targets every time?
- If we build only the latest targets (e.g. SAMV7, Goldfish), then the problems will show up earlier. (And reduce our cost of GitHub Actions)
- Or we should move SAMV7, Goldfish etc to the first job `arm-01`, keep the job small, so that it will fail earlier.
These are the Arm32 Targets that we should keep for the CI Build, suggested by @GUIDINGLI:
- armv8-m, armv8-a, armv8-r
- armv7-m, armv7-a, armv7-r
- armv6-m
- For each of them: Keeping two/three boards is enough
- For each of them: Build for Flat mode, Kernel mode (if supported), Qemu (if supported)
[Here's the complete list of 932 Arm32 Targets](https://docs.google.com/spreadsheets/d/1OdBxe30Sw3yhH0PyZtgmefelOL56fA6p26vMgHV0MRY/edit?gid=0#gid=0) (search for `arm-01` to `arm-13`)
Hi @xiaoxiang781216 @acassis @cederom what do you think? Thanks!
### Describe alternatives you've considered
_No response_
### Verification
- [X] I have verified before submitting the report.
Contributor guide
Assessment
This issue has not been assessed yet.