From 3f45cfd0e2390fa96fef026fcb5473fd56c2b7b9 Mon Sep 17 00:00:00 2001 From: Peter Wittich Date: Mon, 26 Apr 2021 15:31:28 -0400 Subject: [PATCH] updates to github actions add release action --- .github/workflows/c-cpp.yml | 3 ++ .github/workflows/release.yml | 54 +++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 3ac2b02f..eba2d7e7 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -6,6 +6,9 @@ on: pull_request: branches: [ master ] +# note that I need to manually set the path for the arm-none-eabi-gcc exe +# after it comes out of the cache. I don't understand why I need to do that. + jobs: build-gcc: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..ae99fb0d --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,54 @@ +name: Release + +on: + push: + tags: + - 'v*' + +jobs: + tagged_release: + runs-on: ubuntu-latest + steps: + - name: Code checkout + uses: actions/checkout@v2 + - name: Check cache for Embedded Arm Toolchain arm-none-eabi-gcc + id: cache-toolchain + uses: actions/cache@v2 + env: + cache-name: cache-toolchain-10-2020-q4 + with: + path: ${{ runner.temp }}/arm-none-eabi + key: ${{ runner.os }}-buildv1-${{ env.cache-name }} + restore-keys: ${{ runner.os }}-buildv1-${{ env.cache-name }} + + - name: Install Embedded Arm Toolchain arm-none-eabi-gcc + if: steps.cache-toolchain.outputs.cache-hit != 'true' # Install toolchain if not found in cache + uses: fiam/arm-none-eabi-gcc@v1.0.4 + with: + release: '10-2020-q4' # The arm-none-eabi-gcc release to use. + # Directory to unpack GCC to. Defaults to a temporary directory. + directory: ${{ runner.temp }}/arm-none-eabi + - name: FreeRTOS download + run: | + cd ${{runner.temp}} + mkdir freertos-lts + cd freertos-lts + curl -L -o freertos_code.zip https://github.com/FreeRTOS/FreeRTOS-LTS/releases/download/202012.01-LTS/FreeRTOSv202012.01-LTS.zip + unzip -q freertos_code.zip + echo "FREERTOS_ROOT=`pwd`/FreeRTOS-LTS/FreeRTOS/FreeRTOS-Kernel" >> $GITHUB_ENV + export FREERTOS_ROOT=`pwd`/FreeRTOS-LTS/FreeRTOS/FreeRTOS-Kernel + echo $FREERTOS_ROOT + pwd + - name: make with GCC + run: | + export PATH=${PATH}:$HOME/work/_temp/arm-none-eabi/bin: + make + - uses: "marvinpinto/action-automatic-releases@latest" + with: + repo_token: "${{ secrets.GITHUB_TOKEN }}" + prerelease: false + files: | + - projects/cm_mcu/gcc/cm_mcu*.axf + - projects/cm_mcu/gcc/cm_mcu*.bin + - projects/boot_loader/gcc/bl_main.axf + - projects/boot_loader/gcc/bl_main.bin