File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -36,14 +36,24 @@ jobs:
3636 - name : Build Release APK
3737 run : ./gradlew assembleRelease --stacktrace --no-daemon
3838 env :
39+ KEYSTORE_FILE_BASE64 : ${{ secrets.KEYSTORE_FILE }}
3940 KEYSTORE_PASSWORD : ${{ secrets.KEYSTORE_PASSWORD }}
41+ KEY_ALIAS : ${{ secrets.KEY_ALIAS }}
4042 KEY_PASSWORD : ${{ secrets.KEY_PASSWORD }}
4143
44+ - name : Decode Keystore
45+ if : env.KEYSTORE_FILE_BASE64 != ''
46+ run : echo "${{ secrets.KEYSTORE_FILE }}" | base64 -d > release.keystore
47+
4248 - name : Rename and Prepare APK
4349 run : |
4450 mkdir -p release-artifacts
45- cp app/build/outputs/apk/release/app-release.apk release-artifacts/patchwork-v1.1.0.apk
46-
51+ if [ -f "app/build/outputs/apk/release/app-release.apk" ]; then
52+ cp app/build/outputs/apk/release/app-release.apk release-artifacts/patchwork-v1.1.0.apk
53+ else
54+ echo "Release APK not found"
55+ exit 1
56+ fi
4757 - name : Upload Release APK Artifact
4858 uses : actions/upload-artifact@v4
4959 with :
Original file line number Diff line number Diff line change @@ -34,11 +34,16 @@ android {
3434
3535 signingConfigs {
3636 create(" release" ) {
37- val keystoreFile = file(" ../patchwork-release.keystore" )
37+ val keystoreFile = if (System .getenv(" KEYSTORE_FILE_BASE64" ) != null ) {
38+ file(" ../release.keystore" )
39+ } else {
40+ file(" ../patchwork-release.keystore" )
41+ }
42+
3843 if (keystoreFile.exists()) {
3944 storeFile = keystoreFile
4045 storePassword = System .getenv(" KEYSTORE_PASSWORD" ) ? : " patchwork2026"
41- keyAlias = " patchwork"
46+ keyAlias = System .getenv( " KEY_ALIAS " ) ? : " patchwork"
4247 keyPassword = System .getenv(" KEY_PASSWORD" ) ? : " patchwork2026"
4348 }
4449 }
@@ -51,9 +56,13 @@ android {
5156 getDefaultProguardFile(" proguard-android-optimize.txt" ),
5257 " proguard-rules.pro"
5358 )
54- // Apply release signing if keystore exists, otherwise fallback to debug signing
55- // so that the APK is still installable for testing/pre-release.
56- val keystoreFile = file(" ../patchwork-release.keystore" )
59+ // Use release signing if possible
60+ val keystoreFile = if (System .getenv(" KEYSTORE_FILE_BASE64" ) != null ) {
61+ file(" ../release.keystore" )
62+ } else {
63+ file(" ../patchwork-release.keystore" )
64+ }
65+
5766 if (keystoreFile.exists()) {
5867 signingConfig = signingConfigs.getByName(" release" )
5968 } else {
You can’t perform that action at this time.
0 commit comments