Skip to content

feat: Automatically include version numbers #43

feat: Automatically include version numbers

feat: Automatically include version numbers #43

Workflow file for this run

name: Badgemagic Firmware build
on:
push:
pull_request:
branches: [master]
env:
MRS_TOOLCHAIN: MRS_Toolchain_Linux_x64_V1.91
USBC_BUILD_DIR: usb-c
MICROB_BUILD_DIR: micro-b
BIN_TYPES: '{.bin,.elf}'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # fetch tags for versioning
- name: Cache toolchain
id: cache-toolchain
uses: actions/cache@v4
with:
path: ${{ env.MRS_TOOLCHAIN }}
key: ${{ env.MRS_TOOLCHAIN }}-cache
- if: ${{ steps.cache-toolchain.outputs.cache-hit != 'true' }}
name: Download toolchain
run: |
wget http://file-oss.mounriver.com/tools/${{ env.MRS_TOOLCHAIN }}.tar.xz
tar -xvf ${{ env.MRS_TOOLCHAIN }}.tar.xz
- name: Build firmware
run: |
export PREFIX=${{ env.MRS_TOOLCHAIN }}/RISC-V_Embedded_GCC/bin/riscv-none-embed-
BUILD_DIR=${{ env.USBC_BUILD_DIR }} USBC_VERSION=1 make -j$(nproc)
BUILD_DIR=${{ env.MICROB_BUILD_DIR }} make -j$(nproc)
- uses: actions/upload-artifact@v4
with:
name: badgemagic-firmware
path: |
${{ env.USBC_BUILD_DIR }}/badgemagic-*
${{ env.MICROB_BUILD_DIR }}/badgemagic-*
# Skip upload APK for pull requests & only allow binaries build from master
- if: ${{ github.event_name != 'pull_request' && github.ref_name == 'master' }}
name: Upload firmware binaries to bin branch
run: |
git config --global user.name "${{ github.workflow }}"
git config --global user.email "gh-actions@${{ github.repository_owner }}"
git checkout --orphan bin
git reset
git add ${{ env.USBC_BUILD_DIR }}/badgemagic-*${{ env.BIN_TYPES }}
git add ${{ env.MICROB_BUILD_DIR }}/badgemagic-*${{ env.BIN_TYPES }}
git commit -am "[Auto] Update firmware binaries from ${{ github.ref_name }} ($(date +%Y-%m-%d.%H:%M:%S))"
git push --force origin bin