From 773b609b46f65d3fde0e11ccf62c25295e658131 Mon Sep 17 00:00:00 2001 From: Hasib Prince Date: Tue, 3 Sep 2024 00:22:58 +0600 Subject: [PATCH 1/3] Added CI script with release related jobs --- .gitlab-ci.yml | 128 +++++++++++++++++++++++++++++++++++++++++++ app/build.gradle.kts | 4 +- 2 files changed, 130 insertions(+), 2 deletions(-) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 000000000..2abd05681 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,128 @@ +image: registry.gitlab.e.foundation/e/os/docker-android-apps-cicd:master + +variables: + PROJECT_ID: "1698" # under Settings -> General + APK_PATH: "app/build/outputs/apk/release" + UNSIGNED_APK: "etar-release-unsigned.apk" + DEV_APK: "Etar-dev.apk" + STABLE_APK: "Etar-stable.apk" + +stages: + - auto-merge-main + - update-from-upstream + - build + - debug + - release + - gitlab_release + +before_script: + - git submodule update --init + - export GRADLE_USER_HOME=$(pwd)/.gradle + - chmod +x ./gradlew + +include: + - project: 'e/templates' + ref: master + file: '/gitlab-ci/.gitlab-ci-auto-merge-main.yml' + - project: 'e/templates' + ref: master + file: '/gitlab-ci/.gitlab-ci-import-updates-from-upstream.yml' + +cache: + key: ${CI_PROJECT_ID} + paths: + - .gradle/ + +build: + stage: build + script: + - ./gradlew build -x test + - cd app/build/outputs/apk/ + - | + if [[ ! -d "release" ]]; then + echo "$APK_PATH does not exist." + exit 1 + fi + cd "release" + unsigned_build=$(ls *.apk | grep "unsigned") + cp $unsigned_build $UNSIGNED_APK + artifacts: + paths: + - app/build/outputs/apk/ + +init_submodules: + stage: release + rules: + - if: '$CI_COMMIT_TAG' + when: on_success + script: + - | + git submodule add --force \ + https://gitlab.e.foundation/e/os/system-apps-update-info.git systemAppsUpdateInfo + artifacts: + paths: + - systemAppsUpdateInfo/ + +generate-apks: + stage: release + rules: + - if: '$CI_COMMIT_TAG' + when: on_success + needs: + - init_submodules + - build + dependencies: + - init_submodules + - build + before_script: + - apt update && apt install apksigner -y + script: + - | + ./systemAppsUpdateInfo/scripts/generate-apks.sh \ + "$APK_PATH" "$UNSIGNED_APK" "$DEV_APK" "$STABLE_APK" + artifacts: + paths: + - $APK_PATH/$UNSIGNED_APK + - $APK_PATH/$DEV_APK + - $APK_PATH/$STABLE_APK + +create-json-files: + stage: release + dependencies: + - init_submodules + - generate-apks + needs: + - init_submodules + - generate-apks + rules: + - if: '$CI_COMMIT_TAG' + when: manual + before_script: + - apt update && apt install jq aapt -y + script: + - | + ./systemAppsUpdateInfo/scripts/create-json-files.sh \ + "$APK_PATH" "$UNSIGNED_APK" "$DEV_APK" "$STABLE_APK" + artifacts: + paths: + - dev.json + - stable.json + +create-release: + stage: release + dependencies: + - init_submodules + needs: + - init_submodules + - create-json-files + - generate-apks + rules: + - if: '$CI_COMMIT_TAG' + when: on_success + before_script: + - apt update && apt install jq -y + script: + - | + ./systemAppsUpdateInfo/scripts/create-release.sh \ + "$APK_PATH" "$UNSIGNED_APK" "$DEV_APK" "$STABLE_APK" + diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 58a1b2043..adceabd2e 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -18,8 +18,8 @@ android { defaultConfig { minSdk = 23 targetSdk = 34 - versionCode = 47 - versionName = "1.0.47" + versionCode = 48 + versionName = "1.0.48" applicationId = "ws.xsoh.etar" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } -- GitLab From 28bb2b3e6aa84a02efa8eb5641a562fb0ec8bf2d Mon Sep 17 00:00:00 2001 From: Hasib Prince Date: Thu, 5 Sep 2024 12:41:10 +0600 Subject: [PATCH 2/3] fixed json file name --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2abd05681..cbb97113d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -105,8 +105,8 @@ create-json-files: "$APK_PATH" "$UNSIGNED_APK" "$DEV_APK" "$STABLE_APK" artifacts: paths: - - dev.json - - stable.json + - community.json + - official.json create-release: stage: release -- GitLab From 26d569675337b6dd5d806dd5c314345dd13774ee Mon Sep 17 00:00:00 2001 From: Hasib Prince Date: Fri, 6 Sep 2024 17:39:02 +0600 Subject: [PATCH 3/3] refactor: CI script --- .gitlab-ci.yml | 37 +++++++++++++++++-------------------- app/build.gradle.kts | 4 ++-- 2 files changed, 19 insertions(+), 22 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cbb97113d..04baeb488 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,18 +1,16 @@ image: registry.gitlab.e.foundation/e/os/docker-android-apps-cicd:master variables: - PROJECT_ID: "1698" # under Settings -> General APK_PATH: "app/build/outputs/apk/release" UNSIGNED_APK: "etar-release-unsigned.apk" - DEV_APK: "Etar-dev.apk" - STABLE_APK: "Etar-stable.apk" + COMMUNITY_APK: "Etar-community.apk" + OFFICIAL_APK: "Etar-official.apk" stages: - auto-merge-main - update-from-upstream - build - debug - - release - gitlab_release before_script: @@ -51,22 +49,21 @@ build: - app/build/outputs/apk/ init_submodules: - stage: release + stage: gitlab_release rules: - - if: '$CI_COMMIT_TAG' + - if: '$CI_COMMIT_TAG && $CI_COMMIT_REF_PROTECTED == "true"' when: on_success script: - | - git submodule add --force \ - https://gitlab.e.foundation/e/os/system-apps-update-info.git systemAppsUpdateInfo + git clone https://gitlab.e.foundation/e/os/system-apps-update-info.git systemAppsUpdateInfo artifacts: paths: - - systemAppsUpdateInfo/ + - systemAppsUpdateInfo/scripts/ generate-apks: - stage: release + stage: gitlab_release rules: - - if: '$CI_COMMIT_TAG' + - if: '$CI_COMMIT_TAG && $CI_COMMIT_REF_PROTECTED == "true"' when: on_success needs: - init_submodules @@ -79,15 +76,15 @@ generate-apks: script: - | ./systemAppsUpdateInfo/scripts/generate-apks.sh \ - "$APK_PATH" "$UNSIGNED_APK" "$DEV_APK" "$STABLE_APK" + "$APK_PATH" "$UNSIGNED_APK" "$COMMUNITY_APK" "$OFFICIAL_APK" artifacts: paths: - $APK_PATH/$UNSIGNED_APK - - $APK_PATH/$DEV_APK - - $APK_PATH/$STABLE_APK + - $APK_PATH/$COMMUNITY_APK + - $APK_PATH/$OFFICIAL_APK create-json-files: - stage: release + stage: gitlab_release dependencies: - init_submodules - generate-apks @@ -95,21 +92,21 @@ create-json-files: - init_submodules - generate-apks rules: - - if: '$CI_COMMIT_TAG' + - if: '$CI_COMMIT_TAG && $CI_COMMIT_REF_PROTECTED == "true"' when: manual before_script: - apt update && apt install jq aapt -y script: - | ./systemAppsUpdateInfo/scripts/create-json-files.sh \ - "$APK_PATH" "$UNSIGNED_APK" "$DEV_APK" "$STABLE_APK" + "$APK_PATH" "$UNSIGNED_APK" "$COMMUNITY_APK" "$OFFICIAL_APK" artifacts: paths: - community.json - official.json create-release: - stage: release + stage: gitlab_release dependencies: - init_submodules needs: @@ -117,12 +114,12 @@ create-release: - create-json-files - generate-apks rules: - - if: '$CI_COMMIT_TAG' + - if: '$CI_COMMIT_TAG && $CI_COMMIT_REF_PROTECTED == "true"' when: on_success before_script: - apt update && apt install jq -y script: - | ./systemAppsUpdateInfo/scripts/create-release.sh \ - "$APK_PATH" "$UNSIGNED_APK" "$DEV_APK" "$STABLE_APK" + "$APK_PATH" "$UNSIGNED_APK" "$COMMUNITY_APK" "$OFFICIAL_APK" diff --git a/app/build.gradle.kts b/app/build.gradle.kts index adceabd2e..58a1b2043 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -18,8 +18,8 @@ android { defaultConfig { minSdk = 23 targetSdk = 34 - versionCode = 48 - versionName = "1.0.48" + versionCode = 47 + versionName = "1.0.47" applicationId = "ws.xsoh.etar" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } -- GitLab