summaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorhathach <[email protected]>2021-01-25 15:38:29 +0700
committerhathach <[email protected]>2021-01-25 15:38:29 +0700
commit066d268007780c30e77f75588f29625cc62e5295 (patch)
tree725c5bfe4feac21827b0f8fa9ac1d9f6d59c17c3 /.github/workflows
parent8bec3be68cd37e945a4ccd62951d09dc114bcbdb (diff)
try to cache all toolchains to speed up ci
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/build.yml57
1 files changed, 36 insertions, 21 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index cabb8f593..928eab819 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -105,35 +105,50 @@ jobs:
git submodule update --init --recursive hw/mcu/microchip
git submodule update --init --recursive lib/FreeRTOS
- # Add MSP430 URL to env
- echo >> $GITHUB_ENV MSP430GCC_URL=http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPGCC/9_2_0_0/export/msp430-gcc-9.2.0.50_linux64.tar.bz2
+ - name: Pre-Install Toolchain
+ run: |
+ # Add Toolchain URL to env
+ echo >> $GITHUB_ENV ARM_GCC_URL=https://developer.arm.com/-/media/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
+ echo >> $GITHUB_ENV MSP430_GCC_URL=http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPGCC/9_2_0_0/export/msp430-gcc-9.2.0.50_linux64.tar.bz2
+ echo >> $GITHUB_ENV RISCV_GCC_URL=https://static.dev.sifive.com/dev-tools/freedom-tools/v2020.08/riscv64-unknown-elf-gcc-10.1.0-2020.08.2-x86_64-linux-ubuntu14.tar.gz
- - name: Cache MSP430 Toolchain
+ - name: Cache Toolchain
uses: actions/cache@v2
- id: cache-msp430
+ id: cache-toolchain
with:
- path: ${{ env.HOME }}/msp430-gcc/
- # Increment gcc version number at end when updating downloads
- key: ${{ runner.os }}-${{ env.MSP430GCC_URL }}-210125
+ path: ${{ HOME }}/cache/
+ key: ${{ runner.os }}-21-01-25-${{ env.ARM_GCC_URL }}-${{ env.RISCV_GCC_URL }}-${{ env.MSP430_GCC_URL }}
- - name: Install MSP430 Toolchain
+ - name: Install Toolchain
if: steps.cache-msp430.outputs.cache-hit != 'true'
run: |
- wget --progress=dot:mega $MSP430GCC_URL -O msp430-gcc.tar.bz2
- mkdir -p $HOME/msp430-gcc
- tar -C $HOME/msp430-gcc -xaf msp430-gcc.tar.bz2
+ # ARM GCC
+ mkdir -p $HOME/cache/arm-gcc
+ wget --progress=dot:mega $ARM_GCC_URL -O arm-gcc.tar.bz2
+ tar -C $HOME/cache/arm-gcc -xaf arm-gcc.tar.bz2
- - name: Install Toolchains
- run: |
- # ARM & RISC-V GCC from xpack
- npm install --global xpm
- xpm install --global @xpack-dev-tools/arm-none-eabi-gcc@latest
- xpm install --global @xpack-dev-tools/riscv-none-embed-gcc@latest
- echo `echo $HOME/opt/xPacks/@xpack-dev-tools/arm-none-eabi-gcc/*/.content/bin` >> $GITHUB_PATH
- echo `echo $HOME/opt/xPacks/@xpack-dev-tools/riscv-none-embed-gcc/*/.content/bin` >> $GITHUB_PATH
+ # MSP430 GCC
+ mkdir -p $HOME/cache/msp430-gcc
+ wget --progress=dot:mega $MSP430_GCC_URL -O msp430-gcc.tar.bz2
+ tar -C $HOME/cache/msp430-gcc -xaf msp430-gcc.tar.bz2
+
+ # RISC-V GCC
+ mkdir -p $HOME/cache/riscv-gcc
+ wget --progress=dot:mega $RISCV_GCC_URL -O riscv-gcc.tar.gz
+ tar -C $HOME/cache/riscv-gcc -xaf riscv-gcc.tar.gz
+
+ - name: Post-Install Toolchains
+ run: |
+ ls $HOME/cache/*
+
+ # ARM
+ echo >> $GITHUB_PATH `echo $HOME/cache/arm-gcc/gcc-arm-none-eabi-*/bin`
- # TI MSP430 GCC
- echo `echo $HOME/msp430-gcc/msp430-gcc-*_linux64/bin` >> $GITHUB_PATH
+ # MSP430
+ echo >> $GITHUB_PATH `echo $HOME/cache/msp430-gcc/msp430-gcc-*/bin`
+
+ # RISC-V
+ echo >> $GITHUB_PATH `echo $HOME/cache/riscv-gcc/riscv64-*/bin`
- name: Build
run: python3 tools/build_board.py ${{ matrix.example }}