From 3f45f9742dcc3ef27e8f574973e6f9c106ccbfe7 Mon Sep 17 00:00:00 2001 From: Ricardo Salveti Date: Wed, 25 Mar 2026 20:32:55 -0300 Subject: [PATCH 1/2] workflows: skip debug and performance builds on prs Introduce a build profile input field to the reusable build-yocto workflow and use it to skip all debug and performance build combinations when performing CI on PRs. This reduces PR turnaround time while keeping full coverage on push and nightly. Signed-off-by: Ricardo Salveti --- .github/workflows/build-yocto.yml | 9 ++++++++- .github/workflows/pr.yml | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-yocto.yml b/.github/workflows/build-yocto.yml index 1c555ce21..50cbe5dfc 100644 --- a/.github/workflows/build-yocto.yml +++ b/.github/workflows/build-yocto.yml @@ -7,6 +7,10 @@ on: required: false type: string default: "0" + profile: + required: false + type: string + default: "full" # values: pr | full outputs: artifacts_url: description: "URL to retrieve build artifacts" @@ -256,11 +260,14 @@ jobs: yamlfile: "" name: ${{ matrix.machine }}/${{ matrix.distro.name }}${{ matrix.kernel.dirname }} steps: - - uses: actions/checkout@v6 + - name: checkout + if: inputs.profile != 'pr' || (matrix.distro.name != 'debug' && matrix.distro.name != 'performance') + uses: actions/checkout@v6 with: persist-credentials: false - name: Run kas build + if: inputs.profile != 'pr' || (matrix.distro.name != 'debug' && matrix.distro.name != 'performance') uses: ./.github/actions/compile id: compile_kas with: diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index fe893ef18..4a506eba2 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -25,4 +25,6 @@ jobs: path: ${{ github.event_path }} build-pr: uses: ./.github/workflows/build-yocto.yml + with: + profile: pr From d0f686a36d92961a5d7cba027cdc189d74cdbd49 Mon Sep 17 00:00:00 2001 From: Ricardo Salveti Date: Wed, 25 Mar 2026 19:47:03 -0300 Subject: [PATCH 2/2] workflows: reduce amount of warm_up jobs Migrate most compile_warm_up tasks to the standard compile matrix as gnerating parallel cache with so many combinations provides little incremental cache benefit while consuming a substantial amount of CI resources. This change should also help reducing the initial load on jobs that are known to fail, since the current nodistro and qcom-distro combination is enough to cover most common problems. This change has no impact to the complete set of runs. Signed-off-by: Ricardo Salveti --- .github/workflows/build-yocto.yml | 36 ++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build-yocto.yml b/.github/workflows/build-yocto.yml index 50cbe5dfc..2b2b082b8 100644 --- a/.github/workflows/build-yocto.yml +++ b/.github/workflows/build-yocto.yml @@ -108,22 +108,10 @@ jobs: yamlfile: "" - name: qcom-distro yamlfile: ':ci/qcom-distro-prop-image.yml' - - name: qcom-distro-catchall - yamlfile: ':ci/qcom-distro-catchall.yml' - - name: debug - yamlfile: ':ci/qcom-distro-prop-image.yml:ci/debug.yml' - - name: performance - yamlfile: ':ci/qcom-distro-prop-image.yml:ci/performance.yml' kernel: - type: default dirname: "" yamlfile: "" - - type: 6.18 - dirname: "_linux-qcom-6.18" - yamlfile: ":ci/linux-qcom-6.18.yml" - - type: rt-6.18-distro-kvm - dirname: "_linux-qcom-rt-6.18_qcom-distro-kvm" - yamlfile: ":ci/linux-qcom-rt-6.18.yml:ci/qcom-distro-kvm.yml" name: ${{ matrix.machine }}/${{ matrix.distro.name }}${{ matrix.kernel.dirname }} steps: - uses: actions/checkout@v6 @@ -158,10 +146,12 @@ jobs: - iq-x7181-evk - kaanapali-mtp - qcm6490-idp + - qcom-armv8a - qcs615-ride - qcs8300-ride-sx - qcs9100-ride-sx - rb1-core-kit + - rb3gen2-core-kit - sm8750-mtp distro: - name: nodistro @@ -184,6 +174,28 @@ jobs: - type: rt-6.18-distro-kvm dirname: "_linux-qcom-rt-6.18_qcom-distro-kvm" yamlfile: ":ci/linux-qcom-rt-6.18.yml:ci/qcom-distro-kvm.yml" + exclude: + # Exclude jobs from compile_warm_up + - machine: qcom-armv8a + distro: + name: nodistro + kernel: + type: default + - machine: qcom-armv8a + distro: + name: qcom-distro + kernel: + type: default + - machine: rb3gen2-core-kit + distro: + name: nodistro + kernel: + type: default + - machine: rb3gen2-core-kit + distro: + name: qcom-distro + kernel: + type: default include: # Additional builds for specific machines - machine: qcom-armv8a