name: Build APK # Builds a debug APK on every push/PR (CI compile check) and attaches an APK to # a GitHub Release on version tags (v*). The committed debug keystore means CI # and local builds sign identically, so updates install in place. on: push: pull_request: workflow_dispatch: permissions: contents: write jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up JDK 17 uses: actions/setup-java@v4 with: distribution: temurin java-version: '17' - name: Set up Android SDK uses: android-actions/setup-android@v3 - name: Build debug APK run: | chmod +x ./gradlew ./gradlew :app:assembleDebug --stacktrace --no-daemon - name: Stage APK run: | mkdir -p out cp app/build/outputs/apk/debug/app-debug.apk "out/VIGIL-debug.apk" - name: Upload APK artifact uses: actions/upload-artifact@v4 with: name: vigil-apk path: out/*.apk - name: Publish Release if: startsWith(github.ref, 'refs/tags/') uses: softprops/action-gh-release@v2 with: files: out/*.apk generate_release_notes: true