-
Notifications
You must be signed in to change notification settings - Fork 1.5k
CI: Apply the Refactored Build Rules based on Arch Labels #13862
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
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This PR continues to enhance the CI Workflow, to skip the unnecessary NuttX Builds. The PR will update the CI Build Workflow `build.yml`, to call the Refactored Build Rules in `arch.yml` (which is a Reusable Workflow). The original rules were migrated from `build.yml` to `arch.yml`: - We target only the Simple PRs: One Arch Label + One Size Label (e.g. "Arch: risc-v, Size: XS") - For "Arch: risc-v": Build `risc-v-01`, `risc-v-02` - For "Arch: xtensa": Build `xtensa-01`, `xtensa-02` - The above rules apply when the PR is Created or Modified - When the PR is Merged: All targets shall be built This PR applies the New and Updated Rules defined in `arch.yml`: - For "Arch: arm": Build `arm-01`, `arm-02`, ... - For "Arch: arm64": Build `other` - For "Arch: simulator": Build `sim-01`, `sim-02` - For "Arch: x86_64": Build `other` - For Simple PRs (One Arch Label + One Size Label): Skip the macOS and Windows builds (`macos`, `macos/sim-*`, `msys2`) since these builds are costly and slow - Except for "Arch: Simulator", which will enable the macOS Builds for `sim-01` and `sim-02` - If GitHub CLI Fails: Build all targets The code is explained here: apache#13775
|
[Experimental Bot, please feedback here] NuttX PR Requirements ReviewThis PR appears to meet the NuttX requirements with a few minor points: Summary:
Impact:
Testing:
Overall: This PR is well-structured and informative. Addressing the minor points mentioned above will further enhance its clarity and completeness. |
xiaoxiang781216
approved these changes
Oct 7, 2024
1 task
xiaoxiang781216
approved these changes
Oct 7, 2024
simbit18
approved these changes
Oct 7, 2024
Contributor
|
@lupyuen should we sync to apps repo? |
Member
Author
|
@xiaoxiang781216 Yep I'll sync to nuttx-apps thanks! |
Member
Author
Contributor
|
@lupyuen yes it is ok |
lupyuen
added a commit
to lupyuen2/wip-nuttx-apps
that referenced
this pull request
Oct 8, 2024
This PR syncs the CI Build Workflow `build.yml` from `nuttx` repo to `nuttx-apps`. The updated `build.yml` consolidates these changes: - apache/nuttx#13301 - apache/nuttx#13806 - apache/nuttx#13862 `build.yml` from `nuttx` repo was slightly modified for `nuttx-apps`: - All References to `apache/nuttx/.../arch.yml` were changed to `apache/nuttx-apps/.../arch.yml` (we decouple them so they are easier to update) - Removed `pull_request > paths-ignore` and `push > paths-ignore` (following the existing convention)
xiaoxiang781216
pushed a commit
to apache/nuttx-apps
that referenced
this pull request
Oct 8, 2024
This PR syncs the CI Build Workflow `build.yml` from `nuttx` repo to `nuttx-apps`. The updated `build.yml` consolidates these changes: - apache/nuttx#13301 - apache/nuttx#13806 - apache/nuttx#13862 `build.yml` from `nuttx` repo was slightly modified for `nuttx-apps`: - All References to `apache/nuttx/.../arch.yml` were changed to `apache/nuttx-apps/.../arch.yml` (we decouple them so they are easier to update) - Removed `pull_request > paths-ignore` and `push > paths-ignore` (following the existing convention)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
This PR continues to enhance the CI Workflow, to skip the unnecessary NuttX Builds. The PR will update the CI Build Workflow
build.yml, to call the Refactored Build Rules inarch.yml(which is a Reusable Workflow).The original rules were migrated from
build.ymltoarch.yml:risc-v-01,risc-v-02xtensa-01,xtensa-02This PR applies the New and Updated Rules defined in
arch.yml:arm-01,arm-02, ...othersim-01,sim-02othermacos,macos/sim-*,msys2) since these builds are costly and slowsim-01andsim-02The code is explained here: #13775
Impact
For Simple PRs: CI Builds shall be skipped for the targets that don't match the Arch Label. macOS and Windows builds shall be skipped (except for "Arch: Simulator").
For Complex PRs: No change, all targets shall be built
Testing
When we create a PR, the irrelevant builds will be totally omitted. (Merge PR will compile all targets, same for Others)
Previously the irrelevant builds were skipped in seconds. Now the irrelevant builds (e.g.
arm-01) are totally omitted for Simple PRs (e.g. "Arch: risc-v")