-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CI: Validate all defconfig files before running any builds #14299
Conversation
[Experimental Bot, please feedback here] The PR you described seems to meet the NuttX requirements and provides valuable improvements to the CI process. Here's a breakdown: Summary:
Impact:
Testing:
Suggestions for Improvement:
Overall: This PR effectively addresses a real problem in the CI workflow, improving the developer experience by providing faster feedback on defconfig errors. The PR is well-written, provides comprehensive information, and includes clear testing evidence. |
bb78641
to
a06a691
Compare
Currently, CI Build Jobs will validate the `defconfig` file just before compiling the NuttX Target (like `rv-virt:nsh`). This means that the Build Job might run for a while, before hitting a `defconfig` error and failing much later. This PR updates the CI Workflow `build.yml` to validate all `defconfig` files before running any builds. This means that errors in the `defconfig` files will be flagged earlier. And the Build Job will terminate (with an error) before any build begins. This behaviour is helpful for resolving CI Build Issues quickly. The code is derived from `tools/testbuild.sh`. The enhancement was suggested here: apache#14259
Currently, CI Build Jobs will validate the `defconfig` file just before compiling the NuttX Target (like `rv-virt:nsh`). This means that the Build Job might run for a while, before hitting a `defconfig` error and failing much later. This PR updates the CI Workflow `build.yml` to validate all `defconfig` files before running any builds. This means that errors in the `defconfig` files will be flagged earlier. And the Build Job will terminate (with an error) before any build begins. This behaviour is helpful for resolving CI Build Issues quickly. The code is derived from `tools/testbuild.sh`. The enhancement was suggested here: apache#14259
Summary
Currently, CI Build Jobs will validate the
defconfig
file just before compiling the NuttX Target (likerv-virt:nsh
). This means that the Build Job might run for a while, before hitting adefconfig
error and failing much later.This PR updates the CI Workflow
build.yml
to validate alldefconfig
files before running any builds. This means that errors in thedefconfig
files will be flagged earlier. And the Build Job will terminate (with an error) before any build begins.This behaviour is helpful for resolving CI Build Issues quickly. The code is derived from
[tools/testbuild.sh](http://tools/testbuild.sh)
. The enhancement was suggested here: #14259Impact
The CI Workflow
build.yml
will validate alldefconfig
files before running any builds.If any errors are found in
defconfig
files: The Build Job will terminate (with an error) after alldefconfig
files have been validated, before any build begins.The Updated CI Workflow shall be synced to
nuttx-apps
repo in the next PR.Testing
We tested by creating an intentional error in a
defconfig
file:If defconfig validation fails: The Build Job terminates (with an error) after all
defconfig
files have been validated, before any build beginshttps://github.com/lupyuen5/label-nuttx/actions/runs/11344293823/job/31548821624
Errors are specially formatted to display correctly in the GitHub Actions Job Summary:
If defconfig validation is successful: The Build Job continues to build the targets
https://github.com/lupyuen5/label-nuttx/actions/runs/11343543363/job/31546414579