apache / apache/nuttx

[FEATURE] Revising the Arm32 Targets for CI Build

Open
#14,259 3 comments 4 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.