Skip to content
This repository was archived by the owner on Oct 27, 2025. It is now read-only.

Commit 79bc137

Browse files
committed
Update codemagic.yaml
1 parent 077b9d0 commit 79bc137

File tree

1 file changed

+35
-23
lines changed

1 file changed

+35
-23
lines changed

codemagic.yaml

Lines changed: 35 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)