Files
Flextron-AG/.gitea/workflows/avr-build.yaml
T
Lukas fba41cadd8
AVR Build / build (push) Failing after 1s
git install
2026-04-29 16:59:29 +02:00

79 lines
1.9 KiB
YAML

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 git 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: Publish HEX to binaries repo
run: |
git config --global user.name "gitea-runner"
git config --global user.email "runner@runner.runner"
# clone binaries repo
git clone https://gitea.swiss-dedi.ch/Lukas/Flextron-Binaries.git bins
# decide target folder
if [ "$BUILD_TYPE" = "dev" ]; then
TARGET_DIR="bins/dev"
else
TARGET_DIR="bins/live"
fi
mkdir -p "$TARGET_DIR"
# copy newest hex
cp $(find build -name "*.hex" | head -n 1) \
"$TARGET_DIR/${PREFIX}_${VERSION}.hex"
cd bins
git add .
git commit -m "CI build $BUILD_TYPE $VERSION" || echo "No changes"
git push