name: CI on: push: branches: [main] pull_request: branches: [main] jobs: firmware: runs-on: self-hosted steps: - uses: actions/checkout@v4 - 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