From 1a3b2009ae45c3b75353deb7e5cccd309e6d385a Mon Sep 17 00:00:00 2001 From: Hasib Prince Date: Wed, 16 Oct 2024 12:23:16 +0600 Subject: [PATCH] ci: added release job for test build --- .gitlab-ci.yml | 41 ++++++++++++++++++++++++++++++++++++++--- app/build.gradle | 16 ++++++++++++++++ 2 files changed, 54 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b5f2b52c2..e229f21d9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,6 +7,7 @@ variables: UNSIGNED_APK: "AppLounge_release.apk" COMMUNITY_APK: "AppLounge_release_community.apk" OFFICIAL_APK: "AppLounge_release_official.apk" + TEST_APK: "AppLounge_release_test.apk" stages: - debug @@ -98,6 +99,14 @@ buildRelease: - if: '$CI_COMMIT_REF_PROTECTED == "true"' when: always +buildReleaseTest: + extends: .releaseSigned + script: + - ./gradlew assembleReleaseTest + artifacts: + paths: + - app/build/outputs/apk/releaseTest/ + buildReleaseCommunity: extends: .releaseSigned script: @@ -219,24 +228,29 @@ generate-apks: needs: - init-submodules - buildRelease + - buildReleaseTest - buildReleaseCommunity - buildReleaseOfficial dependencies: - init-submodules - buildRelease + - buildReleaseTest - buildReleaseCommunity - buildReleaseOfficial script: - mkdir -p $APK_PATH - unsignedApk=$(ls app/build/outputs/apk/release/*.apk | grep "release") + - testApk=$(ls app/build/outputs/apk/releaseTest/*.apk | grep "releaseTest") - communityApk=$(ls app/build/outputs/apk/releaseCommunity/*.apk | grep "releaseCommunity") - officialApk=$(ls app/build/outputs/apk/releaseOfficial/*.apk | grep "releaseOfficial") - cp "$unsignedApk" "$APK_PATH/$UNSIGNED_APK" + - cp "$testApk" "$APK_PATH/$TEST_APK" - cp "$communityApk" "$APK_PATH/$COMMUNITY_APK" - cp "$officialApk" "$APK_PATH/$OFFICIAL_APK" artifacts: paths: - $APK_PATH/$UNSIGNED_APK + - $APK_PATH/$TEST_APK - $APK_PATH/$COMMUNITY_APK - $APK_PATH/$OFFICIAL_APK @@ -250,18 +264,38 @@ create-json-files: - generate-apks rules: - if: '$CI_COMMIT_TAG && $CI_COMMIT_REF_PROTECTED == "true"' - when: manual + when: on_success before_script: - apt update && apt install jq aapt -y script: - | ./systemAppsUpdateInfo/scripts/create-json-files.sh \ - "$APK_PATH" "$UNSIGNED_APK" "$COMMUNITY_APK" "$OFFICIAL_APK" + "$APK_PATH" "$UNSIGNED_APK" "$COMMUNITY_APK" "$OFFICIAL_APK" "$TEST_APK" artifacts: paths: + - test.json - community.json - official.json +create-test-release: + stage: gitlab_release + dependencies: + - init-submodules + needs: + - init-submodules + - create-json-files + - generate-apks + rules: + - if: '$CI_COMMIT_TAG && $CI_COMMIT_REF_PROTECTED == "true"' + when: manual + before_script: + - apt update && apt install jq -y + script: + - | + ./systemAppsUpdateInfo/scripts/create-test-release.sh \ + "$APK_PATH" "$TEST_APK" + allow_failure: true + create-release: stage: gitlab_release dependencies: @@ -272,10 +306,11 @@ create-release: - generate-apks rules: - if: '$CI_COMMIT_TAG && $CI_COMMIT_REF_PROTECTED == "true"' - when: on_success + when: manual before_script: - apt update && apt install jq -y script: - | ./systemAppsUpdateInfo/scripts/create-release.sh \ "$APK_PATH" "$UNSIGNED_APK" "$COMMUNITY_APK" "$OFFICIAL_APK" + allow_failure: true diff --git a/app/build.gradle b/app/build.gradle index c2855c774..1039ffb0a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -70,6 +70,12 @@ android { keyAlias 'platform' keyPassword 'android' } + releaseTestConfig { + storeFile file("../keystore/proprietary.keystore") + storePassword keystore_password + keyAlias 'platform.test' + keyPassword keystore_password + } releaseCommunityConfig { storeFile file("../keystore/proprietary.keystore") storePassword keystore_password @@ -88,6 +94,10 @@ android { debug { manifest.srcFile 'src/debug/AndroidManifest.xml' } + releaseTest { + manifest.srcFile 'src/release/AndroidManifest.xml' + java.srcDirs = ['src/release/java'] + } releaseCommunity { manifest.srcFile 'src/release/AndroidManifest.xml' java.srcDirs = ['src/release/java'] @@ -109,6 +119,12 @@ android { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } + releaseTest { + minifyEnabled false + signingConfig signingConfigs.releaseTestConfig + sourceSets + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } releaseCommunity { minifyEnabled false signingConfig signingConfigs.releaseCommunityConfig -- GitLab