chore: Update README for Installation, Usage and Development #42
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |
- 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 |