diff options
author | Christian Marangi <ansuelsmth@gmail.com> | 2023-01-10 23:51:32 +0100 |
---|---|---|
committer | Christian Marangi <ansuelsmth@gmail.com> | 2023-01-11 00:05:18 +0100 |
commit | 895f38ca1efeb46f0cd3029c732e6156d4589eb0 (patch) | |
tree | ebcb655de7e2a7d0861670b3988f9e44b3eb8e0c | |
parent | 55c32a6ce385576875fa0dc2c0866196eef451e3 (diff) | |
download | upstream-895f38ca1efeb46f0cd3029c732e6156d4589eb0.tar.gz upstream-895f38ca1efeb46f0cd3029c732e6156d4589eb0.tar.bz2 upstream-895f38ca1efeb46f0cd3029c732e6156d4589eb0.zip |
CI: build: fallback to compile toolchain if external toolchain fail
If for whatever reason external toolchain can't be found or downloaded,
fallback to internal toolchain build.
This can be useful when new target are introduced and external toolchain
are not present in openwrt fileserver.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
-rw-r--r-- | .github/workflows/build.yml | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c892857999..de168c0cb9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -189,6 +189,8 @@ jobs: TOOLCHAIN_SHA256=$(echo "$TOOLCHAIN_STRING" | cut -d ' ' -f 1) echo "toolchain-type=external_sdk" >> $GITHUB_OUTPUT + else + echo "toolchain-type=internal" >> $GITHUB_OUTPUT fi echo "TOOLCHAIN_FILE=$TOOLCHAIN_FILE" >> "$GITHUB_ENV" @@ -196,7 +198,7 @@ jobs: echo "TOOLCHAIN_PATH=$TOOLCHAIN_PATH" >> "$GITHUB_ENV" - name: Cache external toolchain/sdk - if: inputs.build_toolchain == false + if: inputs.build_toolchain == false && steps.parse-toolchain.outputs.toolchain-type != 'internal' id: cache-external-toolchain uses: actions/cache@v3 with: @@ -212,7 +214,7 @@ jobs: ccache-kernel-${{ env.TARGET }}/${{ env.SUBTARGET }}- - name: Download external toolchain/sdk - if: inputs.build_toolchain == false && steps.cache-external-toolchain.outputs.cache-hit != 'true' + if: inputs.build_toolchain == false && steps.cache-external-toolchain.outputs.cache-hit != 'true' && steps.parse-toolchain.outputs.toolchain-type != 'internal' shell: su buildbot -c "sh -e {0}" working-directory: openwrt run: | @@ -311,7 +313,7 @@ jobs: --config ${{ env.TARGET }}/${{ env.SUBTARGET }} - name: Configure internal toolchain - if: inputs.build_toolchain == true + if: inputs.build_toolchain == true || steps.parse-toolchain.outputs.toolchain-type == 'internal' shell: su buildbot -c "sh -e {0}" working-directory: openwrt run: | |