name: AVR Build on: push: branches: - dev - main pull_request: jobs: build: runs-on: linux steps: - name: Version Checkout run: cat /etc/os-release - name: Checkout code run: git clone $GITHUB_SERVER_URL/$GITHUB_REPOSITORY . - name: Install AVR toolchain run: | apk update apk add gcc-avr avr-libc binutils-avr make cppcheck - name: Set build type from branch id: vars run: | BRANCH="${GITHUB_REF_NAME}" if [ "$BRANCH" = "dev" ]; then echo "BUILD_TYPE=dev" >> $GITHUB_ENV echo "PREFIX=DEV_ENO" >> $GITHUB_ENV else echo "BUILD_TYPE=main" >> $GITHUB_ENV echo "PREFIX=ENO" >> $GITHUB_ENV fi echo "VERSION=${GITHUB_SHA::7}" >> $GITHUB_ENV - name: Code check run: cppcheck --enable=all --inconclusive src \ --platform=avr8 \ --std=c99 \ -I/usr/lib/avr/15.2.0/include \ src/ - name: Build firmware run: | make BUILD_TYPE=$BUILD_TYPE PREFIX=$PREFIX VERSION=$VERSION - name: Upload hex uses: actions/upload-artifact@v4 with: name: firmware-${{ env.BUILD_TYPE }} path: build/**/*.hex