diff --git a/.github/workflows/integration-tdx.yml b/.github/workflows/integration-tdx.yml index c3eed473..1d794df8 100644 --- a/.github/workflows/integration-tdx.yml +++ b/.github/workflows/integration-tdx.yml @@ -34,12 +34,7 @@ jobs: submodules: recursive - name: Install toolchain - uses: actions-rs/toolchain@v1 - with: - profile: ${{ env.TOOLCHAIN_PROFILE }} - toolchain: ${{ env.RUST_TOOLCHAIN }} - override: true - components: rust-src, llvm-tools-preview + run: bash sh_script/update_toolchain.sh ${{ env.RUST_TOOLCHAIN }} - name: Run cargo install cargo-xbuild uses: actions-rs/cargo@v1 diff --git a/sh_script/update_toolchain.sh b/sh_script/update_toolchain.sh new file mode 100644 index 00000000..a1216f2c --- /dev/null +++ b/sh_script/update_toolchain.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +TOOLCHAIN_VER=$1 +TRY_TIMES=5 +echo ${TOOLCHAIN_VER} + +while [ $TRY_TIMES -gt 0 ] +do + exist=`rustup toolchain list | grep ${TOOLCHAIN_VER} | wc -l` + if [[ ${exist} == 0 ]] + then + rustup toolchain install ${TOOLCHAIN_VER} --component rust-src + else + echo "Toolchain ${TOOLCHAIN_VER} is installed." + break + fi + let "TRY_TIMES--" +done + +if [[ ${TRY_TIMES} == 0 ]] +then + echo "Install toolchian ${TOOLCHAIN_VER} failed." + exit 1 +fi \ No newline at end of file