feat: add CI/CD pipelines — firmware + Android build, automated release

This commit is contained in:
eddy 2026-07-30 23:45:31 +02:00
commit 044629e6ef
2 changed files with 119 additions and 0 deletions

55
.forgejo/workflows/ci.yml Normal file
View file

@ -0,0 +1,55 @@
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
firmware:
runs-on: self-hosted
steps:
- uses: actions/checkout@v4
- name: Install PlatformIO
run: pip install platformio
- name: Build firmware
run: pio run
- name: Copy firmware to Android assets
run: bash tools/copy_firmware.sh
- name: Upload firmware artifact
uses: actions/upload-artifact@v4
with:
name: firmware
path: |
.pio/build/m5stack-atoms3r/firmware.bin
.pio/build/m5stack-atoms3r/bootloader.bin
.pio/build/m5stack-atoms3r/partitions.bin
android/app/src/main/assets/firmware/boot_app0.bin
android:
needs: firmware
runs-on: self-hosted
steps:
- uses: actions/checkout@v4
- name: Download firmware
uses: actions/download-artifact@v4
with:
name: firmware
- name: Build debug APK
working-directory: android
run: ./gradlew assembleDebug
env:
ANDROID_HOME: ${{ vars.ANDROID_HOME || '/opt/android-sdk' }}
- name: Upload debug APK
uses: actions/upload-artifact@v4
with:
name: app-debug
path: android/app/build/outputs/apk/debug/app-debug.apk