incubator-nuttx/.github
Lup Yuen Lee 3173746e5d CI: Refactor the Build Rules based on Arch Labels
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
2024-10-07 15:04:28 +08:00
..
ISSUE_TEMPLATE github: add specifier to issue github labels 2024-09-20 22:02:44 +08:00
actions free disk space action added to fix docker image build issue 2023-12-08 14:42:17 +01:00
linters github/linters/setup.cfg: use ignore for E203 2023-04-17 01:59:10 -07:00
workflows CI: Refactor the Build Rules based on Arch Labels 2024-10-07 15:04:28 +08:00
PULL_REQUEST_TEMPLATE.md Remove boilerplate from the PR template. 2020-04-26 23:09:09 +01:00
SECURITY.md docs: Include released 10.x and 11.x versions under security policy. 2022-11-21 10:06:31 +01:00
dependabot.yml chore: Included githubactions in the dependabot config 2022-06-19 11:43:10 +08:00
gcc.json .github/gcc.json: Fix space/tab inconsistency 2022-04-12 13:43:06 +08:00
labeler.yml github/workflows: add auto labeler for PR 2024-09-20 10:02:18 -03:00
nxstyle.json Add problem matching for gcc and nxstyle to github actions 2020-06-11 00:52:55 +08:00