1414 env :
1515 FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 : true
1616
17- steps :
18- - name : Checkout Repository
19- uses : actions/checkout@v4 # v4.2.2+ supports Node 24, using v4 is standard
20-
21- - name : Set up JDK 17
22- uses : actions/setup-java@v4
23- with :
24- java-version : ' 17'
25- distribution : ' temurin'
26-
27- - name : Setup Gradle
28- uses : gradle/actions/setup-gradle@v4
29- with :
30- gradle-version : wrapper
31-
32- - name : Grant execute permission for gradlew
33- run : chmod +x gradlew
34-
35- - name : Run Unit Tests
36- run : ./gradlew testDebugUnitTest --continue
37-
38- - name : Build APKs
39- run : ./gradlew assembleDebug assembleRelease --stacktrace
40-
41- # Optional: Sign the Release APK
42- # To use this, you need to set up secrets in your GitHub repository:
43- # KEYSTORE_FILE (base64 encoded), KEYSTORE_PASSWORD, KEY_ALIAS, KEY_PASSWORD
44- # - name: Sign Release APK
45- # uses: r0adkll/sign-android-release@v1
46- # id: sign_app
47- # with:
48- # releaseDirectory: app/build/outputs/apk/release
49- # signingKeyBase64: ${{ secrets.KEYSTORE_FILE }}
50- # alias: ${{ secrets.KEY_ALIAS }}
51- # keyStorePassword: ${{ secrets.KEYSTORE_PASSWORD }}
52- # keyPassword: ${{ secrets.KEY_PASSWORD }}
53-
54- - name : Upload Debug APK
55- uses : actions/upload-artifact@v4
56- with :
57- name : app-debug
58- path : app/build/outputs/apk/debug/*.apk
59-
60- - name : Upload Release APK (Unsigned)
61- uses : actions/upload-artifact@v4
62- with :
63- name : app-release
64- path : app/build/outputs/apk/release/*.apk
65- name : Android CI
66-
67- on :
68- push :
69- branches : [ "main", "master" ]
70- pull_request :
71- branches : [ "main", "master" ]
72- workflow_dispatch :
73-
74- jobs :
75- build :
76- name : Build and Test
77- runs-on : ubuntu-latest
78-
7917 steps :
8018 - name : Checkout Repository
8119 uses : actions/checkout@v4
8725 distribution : ' temurin'
8826
8927 - name : Setup Gradle
90- uses : gradle/actions/setup-gradle@v3
28+ uses : gradle/actions/setup-gradle@v4
9129 with :
9230 gradle-version : wrapper
93- # Caching is enabled by default in setup-gradle@v3
9431
9532 - name : Grant execute permission for gradlew
9633 run : chmod +x gradlew
@@ -101,19 +38,6 @@ jobs:
10138 - name : Build APKs
10239 run : ./gradlew assembleDebug assembleRelease --stacktrace
10340
104- # Optional: Sign the Release APK
105- # To use this, you need to set up secrets in your GitHub repository:
106- # KEYSTORE_FILE (base64 encoded), KEYSTORE_PASSWORD, KEY_ALIAS, KEY_PASSWORD
107- # - name: Sign Release APK
108- # uses: r0adkll/sign-android-release@v1
109- # id: sign_app
110- # with:
111- # releaseDirectory: app/build/outputs/apk/release
112- # signingKeyBase64: ${{ secrets.KEYSTORE_FILE }}
113- # alias: ${{ secrets.KEY_ALIAS }}
114- # keyStorePassword: ${{ secrets.KEYSTORE_PASSWORD }}
115- # keyPassword: ${{ secrets.KEY_PASSWORD }}
116-
11741 - name : Upload Debug APK
11842 uses : actions/upload-artifact@v4
11943 with :
0 commit comments