1313
1414 env :
1515 JAVA_VERSION : ' 17'
16- ANDROID_SDK_ROOT : /usr/local /android-sdk
16+ ANDROID_SDK_ROOT : ${{ github.workspace }} /android-sdk
1717 ANDROID_KEYSTORE_BASE64 : ${{ secrets.ANDROID_KEYSTORE_BASE64 }}
1818 ANDROID_KEYSTORE_PASSWORD : ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
1919 ANDROID_KEY_ALIAS : ${{ secrets.ANDROID_KEY_ALIAS }}
@@ -23,15 +23,17 @@ jobs:
2323 - name : Checkout
2424 uses : actions/checkout@v4
2525
26- - name : Set up JDK ${{ env.JAVA_VERSION }}
26+ - name : Set up JDK
2727 uses : actions/setup-java@v4
2828 with :
2929 distribution : temurin
3030 java-version : ${{ env.JAVA_VERSION }}
31- cache : ' gradle'
31+ cache : gradle
3232
3333 - name : Set up Android SDK
3434 uses : android-actions/setup-android@v3
35+ with :
36+ sdk-path : ${{ env.ANDROID_SDK_ROOT }}
3537
3638 - name : Accept Android licenses
3739 run : yes | sdkmanager --licenses
@@ -58,32 +60,33 @@ jobs:
5860 UNSIGNED_APK=$(find app/build/outputs/apk/release -name "*.apk" | head -n 1)
5961 echo "Found unsigned APK: $UNSIGNED_APK"
6062 ZIPALIGNED_APK=${UNSIGNED_APK%.apk}-aligned.apk
61- "/usr/local/android-sdk /build-tools/36.0.0/zipalign" -v -p 4 "$UNSIGNED_APK" "$ZIPALIGNED_APK"
62- echo "ZIPALIGNED_APK=$ZIPALIGNED_APK" >> $GITHUB_ENV
63+ "${ANDROID_SDK_ROOT} /build-tools/36.0.0/zipalign" -v -p 4 "$UNSIGNED_APK" "$ZIPALIGNED_APK"
64+ echo "ZIPALIGNED_APK=${ ZIPALIGNED_APK} " >> $GITHUB_ENV
6365
6466 - name : Sign APK
6567 if : ${{ github.event_name != 'pull_request' && env.ANDROID_KEYSTORE_BASE64 != '' }}
6668 run : |
6769 APK_TO_SIGN="$ZIPALIGNED_APK"
68- /usr/local/android-sdk/ build-tools/36.0.0/apksigner sign \
70+ "${ANDROID_SDK_ROOT}/ build-tools/36.0.0/apksigner" sign \
6971 --ks app/release.keystore \
7072 --ks-pass pass:"$ANDROID_KEYSTORE_PASSWORD" \
7173 --key-pass pass:"$ANDROID_KEY_PASSWORD" \
7274 --ks-key-alias "$ANDROID_KEY_ALIAS" \
7375 "$APK_TO_SIGN"
74- echo "SIGNED_APK=$APK_TO_SIGN" >> $GITHUB_ENV
76+ echo "SIGNED_APK=${ APK_TO_SIGN} " >> $GITHUB_ENV
7577
7678 - name : Verify APK signature
7779 if : ${{ github.event_name != 'pull_request' && env.ANDROID_KEYSTORE_BASE64 != '' }}
78- run : /usr/local/android-sdk/build-tools/36.0.0/apksigner verify --print-certs "$SIGNED_APK"
80+ run : |
81+ "${ANDROID_SDK_ROOT}/build-tools/36.0.0/apksigner" verify --print-certs "$SIGNED_APK"
7982
8083 - name : Collect artifact path
8184 run : |
8285 if [ -n "$SIGNED_APK" ]; then
83- echo "ARTIFACT_APK=$SIGNED_APK" >> $GITHUB_ENV
86+ echo "ARTIFACT_APK=${ SIGNED_APK} " >> $GITHUB_ENV
8487 else
8588 APK=$(find app/build/outputs/apk/release -name "*.apk" | head -n 1)
86- echo "ARTIFACT_APK=$APK" >> $GITHUB_ENV
89+ echo "ARTIFACT_APK=${ APK} " >> $GITHUB_ENV
8790 fi
8891
8992 - name : Upload APK artifact
9295 name : Multiply-APK
9396 path : ${{ env.ARTIFACT_APK }}
9497 if-no-files-found : error
98+
99+ release :
100+ needs : build
101+ if : ${{ github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master' }}
102+ runs-on : ubuntu-latest
103+
104+ steps :
105+ - name : Download build artifact
106+ uses : actions/download-artifact@v5
107+ with :
108+ name : Multiply-APK
109+ path : ./release-apk
110+
111+ - name : Get APK filename
112+ id : get_apk
113+ run : |
114+ echo "APK_FILE=$(find ./release-apk -name '*.apk' | head -n 1)" >> $GITHUB_ENV
115+
116+ - name : Create GitHub Release
117+ uses : softprops/action-gh-release@v2
118+ with :
119+ files : ${{ env.APK_FILE }}
120+ tag_name : v${{ github.run_number }}
121+ name : " Release Build #${{ github.run_number }}"
122+ draft : false
123+ prerelease : false
124+ env :
125+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments