Skip to content

Commit fb20d72

Browse files
authored
Create android-foss-release.yml
1 parent 3ae7d4b commit fb20d72

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
name: Android FOSS Release
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*' # e.g., v1.23.1
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: write # needed to create GitHub Releases
11+
12+
jobs:
13+
build:
14+
runs-on: ubuntu-latest
15+
env:
16+
# keep Play off in CI; your Gradle uses these envs for signing
17+
ENABLE_PLAY_RELEASE: "false"
18+
STORE_FILE: keystore
19+
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
20+
KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
21+
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
22+
23+
steps:
24+
- uses: actions/checkout@v4
25+
26+
- name: Set up JDK 17
27+
uses: actions/setup-java@v4
28+
with:
29+
distribution: temurin
30+
java-version: '17'
31+
cache: gradle
32+
33+
- name: Setup Gradle
34+
uses: gradle/actions/setup-gradle@v4
35+
36+
- name: Restore signing key from secret
37+
run: echo "${{ secrets.ANDROID_KEYSTORE_BASE64 }}" | base64 -d > keystore.jks
38+
39+
# Build signed release (your build.gradle wires signing from env vars)
40+
- name: Build FOSS release (APK + AAB)
41+
run: |
42+
./gradlew clean \
43+
:app:assembleFossRelease \
44+
:app:bundleFossRelease \
45+
--warning-mode all --stacktrace
46+
47+
- name: Upload artifacts
48+
uses: actions/upload-artifact@v4
49+
with:
50+
name: OpenTopoMapViewer-foss-release
51+
path: |
52+
app/build/outputs/apk/foss/release/*.apk
53+
app/build/outputs/bundle/fossRelease/*.aab
54+
55+
- name: Create GitHub Release
56+
if: startsWith(github.ref, 'refs/tags/')
57+
uses: softprops/action-gh-release@v2
58+
with:
59+
files: |
60+
app/build/outputs/apk/foss/release/*.apk
61+
app/build/outputs/bundle/fossRelease/*.aab
62+
generate_release_notes: true

0 commit comments

Comments
 (0)