@@ -110,12 +110,20 @@ workflows:
110110 else
111111 ./gradlew clean --no-daemon fetchAndPackageDefaultConfiguration --args="${{ inputs.defaultCentralConfigurationUrl_input }} ${{ inputs.defaultCentralConfigurationUpdateInterval_input }}" -PappVersionName=$APP_VERSION_NAME.$PROJECT_BUILD_NUMBER assemble --debug
112112 fi
113+ - name : Align APK
114+ script : |
115+ zipalign -v -p 4 app/build/outputs/apk/release/app-release-unsigned.apk app/build/outputs/apk/release/app-release-unsigned-aligned.apk
116+ - name : Sign APK
117+ script : |
118+ apksigner sign --ks $CM_KEYSTORE_PATH --ks-pass pass:$CM_KEYSTORE_PASSWORD --out app/build/outputs/apk/release/app-release_$APP_VERSION.apk app/build/outputs/apk/release/app-release-unsigned-aligned.apk
113119 - name : Rename and move APK
114120 script : |
115- mkdir app/build/outputs/apk/debug/artifact/
116- mv app/build/outputs/apk/debug/app-debug.apk app/build/outputs/apk/debug/artifact/"RIA_DigiDoc_dev_$APP_VERSION_NAME.$PROJECT_BUILD_NUMBER.apk"
121+ mkdir -p app/build/outputs/apk/release/signed/
122+ mv app/build/outputs/apk/release/app-release_$APP_VERSION.apk app/build/outputs/apk/release/signed/RIA_DigiDoc_dev_$APP_VERSION.apk
123+
124+ aapt dump badging app/build/outputs/apk/release/signed/RIA_DigiDoc_$APP_VERSION.apk | grep versionCode
117125 artifacts :
118- - app/build/outputs/apk/debug/artifact /*.apk
126+ - app/build/outputs/apk/release/signed /*.apk
119127 publishing :
120128 email :
121129 recipients :
@@ -136,7 +144,6 @@ workflows:
136144 - " google_services"
137145 vars :
138146 PACKAGE_NAME : " ee.ria.DigiDoc"
139- RELEASE_NAME : " RIA DigiDoc"
140147 android_signing :
141148 - RIA DigiDoc (MOPP)
142149 scripts :
@@ -148,42 +155,47 @@ workflows:
148155 ./gradlew clean test --no-daemon
149156 - name : Setup Gradle and Build RIA DigiDoc
150157 script : |
151- LATEST_GOOGLE_PLAY_BUILD_NUMBER=$(google-play get-latest-build-number --package-name "$PACKAGE_NAME" --tracks internal)
152- if [ -z $LATEST_GOOGLE_PLAY_BUILD_NUMBER ]
153- then
154- LATEST_BUILD_NUMBER="$APP_VERSION_NAME.$PROJECT_BUILD_NUMBER"
158+ LATEST_GOOGLE_PLAY_INTERNAL_BUILD_NUMBER=$(google-play get-latest-build-number --package-name "$PACKAGE_NAME" --tracks internal)
159+ LATEST_GOOGLE_PLAY_RELEASE_BUILD_NUMBER=$(google-play get-latest-build-number --package-name "$PACKAGE_NAME" --tracks release)
160+
161+ echo "Internal Build Number: $INTERNAL_BUILD_NUMBER"
162+ echo "Release Build Number: $RELEASE_BUILD_NUMBER"
163+
164+ # Check that both tracks have valid build numbers (over 0) and select the highest.
165+ # Add +1 to the highest build number to submit to Google Play
166+ if [ "$LATEST_GOOGLE_PLAY_INTERNAL_BUILD_NUMBER" -gt 0 ] && [ "$LATEST_GOOGLE_PLAY_RELEASE_BUILD_NUMBER" -gt 0 ]; then
167+ if [ "$LATEST_GOOGLE_PLAY_INTERNAL_BUILD_NUMBER" -gt "$LATEST_GOOGLE_PLAY_RELEASE_BUILD_NUMBER" ]; then
168+ LATEST_BUILD_NUMBER=$(($LATEST_GOOGLE_PLAY_INTERNAL_BUILD_NUMBER + 1))
169+ echo "Internal build number is highest, new build number for this build: $LATEST_BUILD_NUMBER"
155170 echo LATEST_BUILD_NUMBER=$LATEST_BUILD_NUMBER >> $CM_ENV
156171 else
157- LATEST_BUILD_NUMBER=$(($LATEST_GOOGLE_PLAY_BUILD_NUMBER + 1))
172+ LATEST_BUILD_NUMBER=$(($LATEST_GOOGLE_PLAY_RELEASE_BUILD_NUMBER + 1))
173+ echo "Release build number is highest, new build number for this build: $LATEST_BUILD_NUMBER"
158174 echo LATEST_BUILD_NUMBER=$LATEST_BUILD_NUMBER >> $CM_ENV
175+ fi
176+ else
177+ echo "One or both build numbers are 0, using build number"
178+ LATEST_BUILD_NUMBER="$APP_VERSION_NAME.$PROJECT_BUILD_NUMBER"
159179 fi
160180
161181 # Make latest build number be available in all build steps
162- echo APP_NAME=$APP_VERSION_NAME.$PROJECT_BUILD_NUMBER >> $CM_ENV
163-
164- APP_NAME=$APP_VERSION_NAME.$PROJECT_BUILD_NUMBER
165- echo $APP_NAME >> $CM_ENV
166-
167- export RELEASE_NAME="$LATEST_BUILD_NUMBER ($APP_NAME)"
168- echo $RELEASE_NAME >> $CM_ENV
169-
170- echo "RELEASE NAME: "
171- echo $RELEASE_NAME
182+ echo APP_VERSION=$APP_VERSION_NAME.$LATEST_BUILD_NUMBER >> $CM_ENV
183+ echo $APP_VERSION
172184
173185 # Build app
174- ./gradlew clean --no-daemon fetchAndPackageDefaultConfiguration -PappVersionName=$APP_NAME -PappVersionCode=$LATEST_BUILD_NUMBER assembleRelease
186+ ./gradlew clean --no-daemon fetchAndPackageDefaultConfiguration -PappVersionName=$APP_VERSION -PappVersionCode=$LATEST_BUILD_NUMBER assembleRelease
175187 - name : Align APK
176188 script : |
177189 zipalign -v -p 4 app/build/outputs/apk/release/app-release-unsigned.apk app/build/outputs/apk/release/app-release-unsigned-aligned.apk
178190 - name : Sign APK
179191 script : |
180- apksigner sign --ks $CM_KEYSTORE_PATH --ks-pass pass:$CM_KEYSTORE_PASSWORD --out app/build/outputs/apk/release/app-release_$APP_NAME .apk app/build/outputs/apk/release/app-release-unsigned-aligned.apk
192+ apksigner sign --ks $CM_KEYSTORE_PATH --ks-pass pass:$CM_KEYSTORE_PASSWORD --out app/build/outputs/apk/release/app-release_$APP_VERSION .apk app/build/outputs/apk/release/app-release-unsigned-aligned.apk
181193 - name : Rename and move APK
182194 script : |
183195 mkdir -p app/build/outputs/apk/release/signed/
184- mv app/build/outputs/apk/release/app-release_$APP_NAME .apk app/build/outputs/apk/release/signed/RIA_DigiDoc_$APP_NAME .apk
196+ mv app/build/outputs/apk/release/app-release_$APP_VERSION .apk app/build/outputs/apk/release/signed/RIA_DigiDoc_$APP_VERSION .apk
185197
186- aapt dump badging app/build/outputs/apk/release/signed/RIA_DigiDoc_$APP_NAME .apk | grep versionCode
198+ aapt dump badging app/build/outputs/apk/release/signed/RIA_DigiDoc_$APP_VERSION .apk | grep versionCode
187199 artifacts :
188200 - app/build/outputs/apk/release/signed/*.apk
189201 publishing :
0 commit comments