@@ -0,0 +1,45 @@
1+name: Build & Check
2+
3+on:
4+ push:
5+ branches: [master]
6+ pull_request:
7+
8+jobs:
9+ build:
10+ runs-on: ubuntu-latest
11+
12+ steps:
13+ - uses: actions/checkout@v4
14+
15+ - uses: actions/setup-java@v4
16+ with:
17+ distribution: temurin
18+ java-version: 17
19+
20+ - uses: android-actions/setup-android@v3
21+
22+ - uses: gradle/actions/setup-gradle@v4
23+
24+ - name: Run unit tests
25+ run: ./gradlew testDebugUnitTest --no-daemon
26+
27+ - name: Build debug APK
28+ run: ./gradlew assembleDebug --no-daemon
29+
30+ - name: Build release APK
31+ run: ./gradlew assembleRelease --no-daemon
32+
33+ - name: Upload debug APK
34+ uses: actions/upload-artifact@v4
35+ with:
36+ name: opencode-debug.apk
37+ path: app/build/outputs/apk/debug/*.apk
38+ if-no-files-found: error
39+
40+ - name: Upload release APK
41+ uses: actions/upload-artifact@v4
42+ with:
43+ name: opencode-release-unsigned.apk
44+ path: app/build/outputs/apk/release/*.apk
45+ if-no-files-found: error