summaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorChristian Marangi <ansuelsmth@gmail.com>2023-01-10 23:51:32 +0100
committerChristian Marangi <ansuelsmth@gmail.com>2023-01-11 00:05:18 +0100
commit895f38ca1efeb46f0cd3029c732e6156d4589eb0 (patch)
treeebcb655de7e2a7d0861670b3988f9e44b3eb8e0c /.github/workflows
parent55c32a6ce385576875fa0dc2c0866196eef451e3 (diff)
downloadopenwrt-895f38ca1efeb46f0cd3029c732e6156d4589eb0.tar.gz
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>
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/build.yml8
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: |