Skip to content

CI/CD basic implementation based on GitHub Actions #12

CI/CD basic implementation based on GitHub Actions

CI/CD basic implementation based on GitHub Actions #12

Workflow file for this run

name: CI
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
build:
runs-on: ubuntu-22.04
strategy:
matrix:
model: [ "hydrafw" ]
fail-fast: true
steps:
- name: Update package cache
run: sudo apt update -y
- name: Install packages
run: sudo apt install -y --no-install-recommends --no-install-suggests bash coreutils tar bzip2 git make python3 python3-pip
- name: Install python modules
run: python3 -m pip install GitPython intelhex --upgrade
- uses: actions/checkout@v4
with:
submodules: true
fetch-tags: true
fetch-branches: true
fetch-depth: 0
- name: Set git meta info
run: echo "GITHUB_CI_PR_SHA=${{github.event.pull_request.head.sha}}" >> "${GITHUB_ENV}"
- name: Install standalone reference GCC toolchain
run: bash scripts/env.sh
- name: Build ${{ matrix.model }}
run: source build.env && arm-none-eabi-gcc --version && arm-none-eabi-gcc -print-search-dirs && python3 src/build-scripts/hydrafw-revision.py && make V=1 -j$(nproc) -C src/
- name: Archive ${{ matrix.model }} artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.model }}
path: |
src/build/${{ matrix.model }}.dfu
if-no-files-found: error