mirror of
https://github.com/apache/nuttx.git
synced 2026-05-14 11:28:22 +08:00
3173746e5d
This PR continues to enhance the CI Workflow, to skip the unnecessary NuttX Builds. The changes in this PR will not take effect until the next PR, which will switch `build.yml` to use the rules in this PR. In this PR, we refactor the CI Build Rules into a separate Reusable Workflow `arch.yml`. The original rules were migrated 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 New and Updated Rules: - 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: https://github.com/apache/nuttx/issues/13775