feat: add CI/CD pipelines — firmware + Android build, automated release
This commit is contained in:
parent
3debc3b31d
commit
044629e6ef
2 changed files with 119 additions and 0 deletions
55
.forgejo/workflows/ci.yml
Normal file
55
.forgejo/workflows/ci.yml
Normal 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
|
||||
Loading…
Reference in a new issue