Skip to content

Commit 931539d

Browse files
committed
Create build-apk.yml
1 parent 3d2c7de commit 931539d

1 file changed

Lines changed: 64 additions & 0 deletions

File tree

.github/workflows/build-apk.yml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: build android apk
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- beta
8+
9+
jobs:
10+
build:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- name: checkout
15+
uses: actions/checkout@v4
16+
17+
- name: setup jdk
18+
uses: actions/setup-java@v4
19+
with:
20+
distribution: temurin
21+
java-version: 17
22+
23+
- name: setup android sdk
24+
uses: android-actions/setup-android@v3
25+
26+
- name: cache gradle
27+
uses: actions/cache@v4
28+
with:
29+
path: |
30+
~/.gradle/caches
31+
~/.gradle/wrapper
32+
key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
33+
restore-keys: gradle-${{ runner.os }}-
34+
35+
- name: make gradlew executable
36+
run: chmod +x ./gradlew
37+
38+
- name: build release apk
39+
run: ./gradlew assembleRelease
40+
41+
- name: find apk
42+
id: apk
43+
run: |
44+
APK_PATH=$(find app/build/outputs/apk/release -name "*.apk" | head -1)
45+
APK_NAME=$(basename "$APK_PATH")
46+
echo "path=$APK_PATH" >> "$GITHUB_OUTPUT"
47+
echo "name=$APK_NAME" >> "$GITHUB_OUTPUT"
48+
49+
- name: get latest release
50+
id: release
51+
env:
52+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
53+
run: |
54+
RELEASE_ID=$(gh api repos/${{ github.repository }}/releases/latest --jq '.id')
55+
echo "id=$RELEASE_ID" >> "$GITHUB_OUTPUT"
56+
57+
- name: upload apk to release
58+
env:
59+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
60+
run: |
61+
gh release upload \
62+
$(gh api repos/${{ github.repository }}/releases/latest --jq '.tag_name') \
63+
"${{ steps.apk.outputs.path }}#${{ steps.apk.outputs.name }}" \
64+
--clobber

0 commit comments

Comments
 (0)