Skip to content

CI/CD basic implementation based on GitHub Actions #1

CI/CD basic implementation based on GitHub Actions

CI/CD basic implementation based on GitHub Actions #1

Workflow file for this run

name: CI
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
build:
runs-on: ubuntu-22.04
container:
image: debian:oldstable
strategy:
matrix:
model: [ "hydrafw" ]
fail-fast: true
steps:
- name: Update package cache
run: apt update -y
- name: Install packages
run: apt install -y --no-install-recommends --no-install-suggests git make python3 python3-pip gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib
- name: Install python modules
run: python3 -m pip install GitPython intelhex --upgrade
- uses: actions/checkout@v4
with:
submodules: true
- name: Set git ownership
run: git config --global --add safe.directory /__w/hydrafw/hydrafw
- name: Set git meta info
run: echo "GITHUB_CI_PR_SHA=${{github.event.pull_request.head.sha}}" >> "${GITHUB_ENV}"
- name: Build ${{ matrix.model }}
run: make -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