From a94c099b7dadb29d8fa49d427279bbd199b85953 Mon Sep 17 00:00:00 2001 From: Lup Yuen Lee Date: Fri, 18 Oct 2024 18:53:57 +0800 Subject: [PATCH] CI: Skip half of RISC-V, Xtensa and Simulator targets when a Complex PR is created / updated When we submit or update a Complex PR that affects All Architectures (Arm, RISC-V, Xtensa, etc): CI Workflow shall run only half the jobs for RISC-V, Xtensa and Simulator: - `risc-v-01` to `03` - `xtensa-01` - `sim-01` When the Complex PR is Merged: CI Workflow will still run all jobs for RISC-V, Xtensa and Simulator: - `risc-v-01` to `06` - `xtensa-01` to `02` - `sim-01` to `02` Simple PRs with One Single Arch / Board will build the same way as before: - `risc-v-01` to `06` - `xtensa-01` to `02` - `sim-01` to `02` We hope to lower drastically our usage of GitHub Runners before the ASF Deadline, as explained here: https://github.com/apache/nuttx/issues/14376 --- .github/workflows/arch.yml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/.github/workflows/arch.yml b/.github/workflows/arch.yml index fafb33c8a4a2a..9c34071a3afe3 100644 --- a/.github/workflows/arch.yml +++ b/.github/workflows/arch.yml @@ -160,13 +160,21 @@ jobs: # If Not a Simple PR: Build all targets if [[ "$quit" == "1" ]]; then - # If PR was Created or Modified: Exclude arm-08 to arm-14 + # If PR was Created or Modified: Exclude some boards pr=${{github.event.pull_request.number}} if [[ "$pr" != "" ]]; then - echo "Excluding arm-08 to arm-14" - boards=$( + echo "Excluding arm-08..14, risc-v-04..06, sim-02, xtensa-02" + boards=$( echo '${{ inputs.boards }}' | - jq --compact-output 'map(select(test("arm-0[8-9]") == false and test("arm-1.+") == false))' + jq --compact-output \ + 'map( + select( + test("arm-0[8-9]") == false and test("arm-1.") == false and + test("risc-v-0[4-9]") == false and + test("sim-0[2-9]") == false and + test("xtensa-0[2-9]") == false + ) + )' ) fi echo "selected_builds=$boards" | tee -a $GITHUB_OUTPUT