diff options
author | Christian Marangi <ansuelsmth@gmail.com> | 2022-12-17 15:07:28 +0100 |
---|---|---|
committer | Christian Marangi <ansuelsmth@gmail.com> | 2023-10-24 17:11:06 +0200 |
commit | e83384b87e2d3789800084bedc7ae3be2b203663 (patch) | |
tree | 895fc66c72701cff9585fc14a28d7b53084f41c5 | |
parent | e2780cbb2feac4a5e5e7f010202a5e6eb92d8db3 (diff) | |
download | upstream-e83384b87e2d3789800084bedc7ae3be2b203663.tar.gz upstream-e83384b87e2d3789800084bedc7ae3be2b203663.tar.bz2 upstream-e83384b87e2d3789800084bedc7ae3be2b203663.zip |
CI: build: Add support to use container included external toolchain
Add support to use container included external toolchain and skip
redownloading external sdk for each test.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 0fe5776f4a79a2b095912e258738e3203207e9dd)
-rw-r--r-- | .github/workflows/build.yml | 21 | ||||
-rw-r--r-- | .github/workflows/coverity.yml | 1 | ||||
-rw-r--r-- | .github/workflows/kernel.yml | 1 | ||||
-rw-r--r-- | .github/workflows/packages.yml | 1 |
4 files changed, 23 insertions, 1 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c3843d1dfc..6948caf11e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -176,6 +176,11 @@ jobs: id: parse-toolchain working-directory: openwrt run: | + if [ -d /external-toolchain/ ]; then + echo "toolchain-type=external_container" >> $GITHUB_OUTPUT + exit 0 + fi + TOOLCHAIN_PATH=snapshots if [ -n "${{ github.base_ref }}" ]; then @@ -251,7 +256,7 @@ jobs: ccache-kernel-${{ inputs.target }}/${{ inputs.subtarget }}- - name: Download external toolchain/sdk - if: inputs.build_toolchain == false && steps.parse-toolchain.outputs.toolchain-type != 'internal' + if: inputs.build_toolchain == false && steps.parse-toolchain.outputs.toolchain-type != 'internal' && steps.parse-toolchain.outputs.toolchain-type != 'external_container' shell: su buildbot -c "sh -e {0}" working-directory: openwrt run: | @@ -288,6 +293,20 @@ jobs: echo CONFIG_TARGET_PER_DEVICE_ROOTFS=y >> .config echo CONFIG_TARGET_ALL_PROFILES=y >> .config + - name: Configure external toolchain in container + if: inputs.build_toolchain == false && steps.parse-toolchain.outputs.toolchain-type == 'external_container' + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: | + echo CONFIG_DEVEL=y >> .config + echo CONFIG_AUTOREMOVE=y >> .config + echo CONFIG_CCACHE=y >> .config + + ./scripts/ext-toolchain.sh \ + --toolchain /external-toolchain/$(ls /external-toolchain/ | grep openwrt-toolchain)/toolchain-* \ + --overwrite-config \ + --config ${{ inputs.target }}/${{ inputs.subtarget }} + - name: Configure external toolchain if: inputs.build_toolchain == false && steps.parse-toolchain.outputs.toolchain-type == 'external_toolchain' shell: su buildbot -c "sh -e {0}" diff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml index db59ef8ca6..1035545632 100644 --- a/.github/workflows/coverity.yml +++ b/.github/workflows/coverity.yml @@ -17,6 +17,7 @@ jobs: packages: read uses: ./.github/workflows/build.yml with: + container_name: toolchain target: x86 subtarget: 64 build_full: true diff --git a/.github/workflows/kernel.yml b/.github/workflows/kernel.yml index 02aee8b27c..b918b2d88e 100644 --- a/.github/workflows/kernel.yml +++ b/.github/workflows/kernel.yml @@ -109,6 +109,7 @@ jobs: include: ${{fromJson(needs.determine_targets.outputs.targets_subtargets)}} uses: ./.github/workflows/build.yml with: + container_name: toolchain target: ${{ matrix.target }} subtarget: ${{ matrix.subtarget }} build_kernel: true diff --git a/.github/workflows/packages.yml b/.github/workflows/packages.yml index e2f932b1ba..d8270cbb82 100644 --- a/.github/workflows/packages.yml +++ b/.github/workflows/packages.yml @@ -43,6 +43,7 @@ jobs: subtarget: 64 uses: ./.github/workflows/build.yml with: + container_name: toolchain target: ${{ matrix.target }} subtarget: ${{ matrix.subtarget }} build_kernel: true |