Skip to content

Merge branch 'vcv-module-json' into main #88

Merge branch 'vcv-module-json' into main

Merge branch 'vcv-module-json' into main #88

name: Build and test firmware
on:
workflow_dispatch:
push:
branches:
- main
tags:
- 'firmware-v[0-9]+.[0-9]+.[0-9]+'
paths:
- 'shared/**'
- 'firmware/**'
- '!firmware/bootloader/**'
- '!**.md' # Skip docs
- '!shared/svgextract' # Skip generator script (still run CI if generated files change)
- '!shared/gen_minblep' # Skip generator script (still run CI if generated files change)
- '!shared/tableGen' # Skip generator script (still run CI if generated files change)
jobs:
build:
strategy:
matrix:
gcc: ['12.2.Rel1'] # can add other versions if needed
name: "Build firmware"
runs-on: ubuntu-latest
steps:
- name: Install Arm GNU Toolchain (arm-none-eabi-gcc)
uses: carlosperate/arm-none-eabi-gcc-action@v1
with:
release: ${{ matrix.gcc }}
- name: Checkout
uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Install linux dependencies
run: |
sudo apt install -y ninja-build
- name: Build and test
run: cd firmware && make configure && make all
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: firmware
path: |
firmware/build/mp1corea7/medium/main.elf
firmware/build/mp1corea7/medium/main.uimg
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/firmware-v')
with:
name: "Firmware Version: ${{ env.CI_REF_NAME }}"
files: |
firmware/build/mp1corea7/medium/main.elf
firmware/build/mp1corea7/medium/main.uimg