diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2fa504fc9..bf1c63d3f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -41,30 +41,12 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v1 - - name: Pre-Install Toolchain + - name: Install Toolchains 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 - - - name: Cache Toolchain - uses: actions/cache@v2 - id: cache-toolchain - with: - path: ~/cache/ - key: ${{ runner.os }}-21-01-26-${{ env.ARM_GCC_URL }} - - - name: Install Toolchain - if: steps.cache-toolchain.outputs.cache-hit != 'true' - run: | - # ARM GCC - mkdir -p ~/cache/arm-gcc - wget --progress=dot:mega $ARM_GCC_URL -O arm-gcc.tar.bz2 - tar -C ~/cache/arm-gcc -xaf arm-gcc.tar.bz2 - - - name: Post-Install Toolchains - run: | - # ARM - echo >> $GITHUB_PATH `echo ~/cache/arm-gcc/gcc-arm-none-eabi-*/bin` + # ARM GCC from xpack + npm install --global xpm + xpm install --global @xpack-dev-tools/arm-none-eabi-gcc@latest + echo `echo $HOME/opt/xPacks/@xpack-dev-tools/arm-none-eabi-gcc/*/.content/bin` >> $GITHUB_PATH - name: Checkout TinyUSB uses: actions/checkout@v2 @@ -123,50 +105,35 @@ jobs: git submodule update --init --recursive hw/mcu/microchip git submodule update --init --recursive lib/FreeRTOS - - 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 + # Add msp430-gcc url to env 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://github.com/xpack-dev-tools/riscv-none-embed-gcc-xpack/releases/download/v10.1.0-1.1/xpack-riscv-none-embed-gcc-10.1.0-1.1-linux-x64.tar.gz - - name: Cache Toolchain + - name: Cache MSP430-GCC uses: actions/cache@v2 - id: cache-toolchain + id: cache-msp430 with: path: ~/cache/ - key: ${{ runner.os }}-21-01-26-${{ env.ARM_GCC_URL }}-${{ env.RISCV_GCC_URL }}-${{ env.MSP430_GCC_URL }} + key: ${{ runner.os }}-21-01-26-${{ env.MSP430_GCC_URL }} - - name: Install Toolchain - if: steps.cache-toolchain.outputs.cache-hit != 'true' + - name: Install MSP430-GCC + if: steps.cache-msp430.outputs.cache-hit != 'true' run: | - # ARM GCC - mkdir -p ~/cache/arm-gcc - wget --progress=dot:mega $ARM_GCC_URL -O arm-gcc.tar.bz2 - tar -C ~/cache/arm-gcc -xaf arm-gcc.tar.bz2 - # MSP430 GCC mkdir -p ~/cache/msp430-gcc wget --progress=dot:mega $MSP430_GCC_URL -O msp430-gcc.tar.bz2 tar -C ~/cache/msp430-gcc -xaf msp430-gcc.tar.bz2 - # RISC-V GCC - mkdir -p ~/cache/riscv-gcc - wget --progress=dot:mega $RISCV_GCC_URL -O riscv-gcc.tar.gz - tar -C ~/cache/riscv-gcc -xaf riscv-gcc.tar.gz - - - name: Post-Install Toolchains - run: | - ls ~/cache/* + - 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 - # ARM - echo >> $GITHUB_PATH `echo ~/cache/arm-gcc/gcc-arm-none-eabi-*/bin` - - # MSP430 + # TI MSP430 GCC echo >> $GITHUB_PATH `echo ~/cache/msp430-gcc/msp430-gcc-*/bin` - - # RISC-V - echo >> $GITHUB_PATH `echo ~/cache/riscv-gcc/xpack-riscv-*/bin` - name: Build run: python3 tools/build_board.py ${{ matrix.example }}