From 9ed16be7bc727ea97a283208f143856681636b9a Mon Sep 17 00:00:00 2001 From: stevenyomi <95685115+stevenyomi@users.noreply.github.com> Date: Tue, 26 Jul 2022 05:42:09 +0800 Subject: [PATCH] Skip generating multisrc sources if not changed in PR builds (#12735) --- .github/workflows/build_pull_request.yml | 47 ++++++++++++------------ 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/.github/workflows/build_pull_request.yml b/.github/workflows/build_pull_request.yml index 25852a485..ca66cb024 100644 --- a/.github/workflows/build_pull_request.yml +++ b/.github/workflows/build_pull_request.yml @@ -32,7 +32,31 @@ jobs: java-version: 11 distribution: adopt + - id: get-changed-files + name: Get changed files + uses: jitterbit/get-changed-files@v1 + + - id: parse-changed-files + name: Parse changed files + run: | + isIndividualChanged=0 + isMultisrcChanged=0 + for changedFile in ${{ steps.get-changed-files.outputs.all }}; do + if [[ ${changedFile} == src/* ]]; then + isIndividualChanged=1 + elif [[ ${changedFile} == multisrc/* ]]; then + isMultisrcChanged=1 + else + isIndividualChanged=1 + isMultisrcChanged=1 + break + fi + done + echo "::set-output name=isIndividualChanged::$isIndividualChanged" + echo "::set-output name=isMultisrcChanged::$isMultisrcChanged" + - name: Generate multisrc sources + if: ${{ steps.parse-changed-files.outputs.isMultisrcChanged == '1' }} uses: gradle/gradle-command-action@v2 with: arguments: :multisrc:generateExtensions @@ -63,29 +87,6 @@ jobs: core.setOutput('individualMatrix', { 'chunk': [...Array(numIndividualChunks).keys()] }); core.setOutput('multisrcMatrix', { 'chunk': [...Array(numMultisrcChunks).keys()] }); - - id: get-changed-files - name: Get changed files - uses: jitterbit/get-changed-files@v1 - - - id: parse-changed-files - name: Parse changed files - run: | - isIndividualChanged=0 - isMultisrcChanged=0 - for changedFile in ${{ steps.get-changed-files.outputs.all }}; do - if [[ ${changedFile} == src/* ]]; then - isIndividualChanged=1 - elif [[ ${changedFile} == multisrc/* ]]; then - isMultisrcChanged=1 - else - isIndividualChanged=1 - isMultisrcChanged=1 - break - fi - done - echo "::set-output name=isIndividualChanged::$isIndividualChanged" - echo "::set-output name=isMultisrcChanged::$isMultisrcChanged" - build_multisrc: name: Build multisrc modules needs: prepare