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: 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