From cda4501814892de7fb7f61a5304dabd6f0f2b487 Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Tue, 8 Oct 2024 02:24:11 +0530 Subject: [PATCH 1/9] logging --- scripts/generate-apks.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scripts/generate-apks.sh b/scripts/generate-apks.sh index 374f4a8..783c80a 100755 --- a/scripts/generate-apks.sh +++ b/scripts/generate-apks.sh @@ -18,6 +18,11 @@ cd $APK_PATH cp $UNSIGNED_APK $COMMUNITY_APK cp $UNSIGNED_APK $OFFICIAL_APK +echo "APK_PATH ------ \"$APK_PATH\"" +echo "UNSIGNED ------ \"$UNSIGNED_APK\"" +echo "COMMUNIT ------ \"$COMMUNITY_APK\"" +echo "OFFICIAL ------ \"$OFFICIAL_APK\"" + echo "${KEYSTORE}" | base64 -d > ~/proprietary.keystore.jks java -jar /usr/bin/apksigner sign \ -- GitLab From 383439d0f394e407bcf0feaf6fb3bf61ca66dfce Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Tue, 8 Oct 2024 03:21:39 +0530 Subject: [PATCH 2/9] generate TEST apk --- scripts/generate-apks.sh | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/scripts/generate-apks.sh b/scripts/generate-apks.sh index 783c80a..6eea706 100755 --- a/scripts/generate-apks.sh +++ b/scripts/generate-apks.sh @@ -13,15 +13,15 @@ APK_PATH="$1" UNSIGNED_APK="$2" COMMUNITY_APK="$3" OFFICIAL_APK="$4" +TEST_APK="$5" cd $APK_PATH cp $UNSIGNED_APK $COMMUNITY_APK cp $UNSIGNED_APK $OFFICIAL_APK -echo "APK_PATH ------ \"$APK_PATH\"" -echo "UNSIGNED ------ \"$UNSIGNED_APK\"" -echo "COMMUNIT ------ \"$COMMUNITY_APK\"" -echo "OFFICIAL ------ \"$OFFICIAL_APK\"" +if [[ -n "$TEST_APK" ]]; then + cp $UNSIGNED_APK $TEST_APK +fi echo "${KEYSTORE}" | base64 -d > ~/proprietary.keystore.jks @@ -47,3 +47,17 @@ if [ $? -ne 0 ]; then fi echo "Signed OFFICIAL" +if [[ -e "$KEYSTORE_ALIAS_TEST" ]]; then + exit 0 +fi + +java -jar /usr/bin/apksigner sign \ + --ks ~/proprietary.keystore.jks \ + --ks-key-alias $KEYSTORE_ALIAS_TEST \ + --ks-pass env:KEYSTORE_PASSWORD $TEST_APK + +if [ $? -ne 0 ]; then + echo "Error: Failed to sign TEST APK" + exit 1 +fi +echo "Signed TEST" -- GitLab From 9907efa0929143b20ff077c1702966df812a71d8 Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Tue, 8 Oct 2024 03:45:37 +0530 Subject: [PATCH 3/9] create public and test release --- scripts/create-public-release.sh | 57 ++++++++++++++++++++++++++++++++ scripts/create-test-release.sh | 45 +++++++++++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100755 scripts/create-public-release.sh create mode 100755 scripts/create-test-release.sh diff --git a/scripts/create-public-release.sh b/scripts/create-public-release.sh new file mode 100755 index 0000000..c21d045 --- /dev/null +++ b/scripts/create-public-release.sh @@ -0,0 +1,57 @@ +#!/usr/bin/env bash + +# Requires the following packages: +# jq + +APK_PATH="$1" +UNSIGNED_APK="$2" +COMMUNITY_APK="$3" +OFFICIAL_APK="$4" + +cat > data.json << EOF +{ + "tag_name": "$CI_COMMIT_TAG", + "ref": "$CI_COMMIT_TAG", + "assets": { + "links": [ + { + "name": "community.json", + "url": "https://gitlab.e.foundation/api/v4/projects/$CI_PROJECT_ID/jobs/artifacts/${CI_COMMIT_TAG}/raw/community.json?job=create-public-release", + "direct_asset_path": "/json/community.json", + "link_type": "other" + }, + { + "name": "official.json", + "url": "https://gitlab.e.foundation/api/v4/projects/$CI_PROJECT_ID/jobs/artifacts/${CI_COMMIT_TAG}/raw/official.json?job=create-public-release", + "direct_asset_path": "/json/official.json", + "link_type": "other" + }, + { + "name": "$COMMUNITY_APK", + "url": "https://gitlab.e.foundation/api/v4/projects/$CI_PROJECT_ID/jobs/artifacts/${CI_COMMIT_TAG}/raw/$APK_PATH/$COMMUNITY_APK?job=generate-apks", + "link_type": "package" + }, + { + "name": "$OFFICIAL_APK", + "url": "https://gitlab.e.foundation/api/v4/projects/$CI_PROJECT_ID/jobs/artifacts/${CI_COMMIT_TAG}/raw/$APK_PATH/$OFFICIAL_APK?job=generate-apks", + "link_type": "package" + } + ] + } +} +EOF + +compressed_json=$(jq -c . data.json) + +response=$(curl --data "$compressed_json" \ + --header 'Content-Type: application/json' --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \ + --fail --output "/dev/null" --silent --show-error \ + --request POST https://gitlab.e.foundation/api/v4/projects/$CI_PROJECT_ID/releases) + +if [ $? -ne 0 ]; then + echo "Error: Failed to create release" + echo "Response: $response" + exit 1 +fi +echo "Public release created successfully" + diff --git a/scripts/create-test-release.sh b/scripts/create-test-release.sh new file mode 100755 index 0000000..1d849ff --- /dev/null +++ b/scripts/create-test-release.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +# Requires the following packages: +# jq + +APK_PATH="$1" +UNSIGNED_APK="$2" +TEST_APK="$3" + +cat > data.json << EOF +{ + "tag_name": "$CI_COMMIT_TAG", + "ref": "$CI_COMMIT_TAG", + "assets": { + "links": [ + { + "name": "test.json", + "url": "https://gitlab.e.foundation/api/v4/projects/$CI_PROJECT_ID/jobs/artifacts/${CI_COMMIT_TAG}/raw/community.json?job=create-test-release", + "direct_asset_path": "/json/community.json", + "link_type": "other" + }, + { + "name": "$TEST_APK", + "url": "https://gitlab.e.foundation/api/v4/projects/$CI_PROJECT_ID/jobs/artifacts/${CI_COMMIT_TAG}/raw/$APK_PATH/$TEST_APK?job=generate-apks", + "link_type": "package" + } + ] + } +} +EOF + +compressed_json=$(jq -c . data.json) + +response=$(curl --data "$compressed_json" \ + --header 'Content-Type: application/json' --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \ + --fail --output "/dev/null" --silent --show-error \ + --request POST https://gitlab.e.foundation/api/v4/projects/$CI_PROJECT_ID/releases) + +if [ $? -ne 0 ]; then + echo "Error: Failed to create release" + echo "Response: $response" + exit 1 +fi +echo "Test release created successfully" + -- GitLab From 4293272d92f3325bf1511f15618024c481670282 Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Tue, 8 Oct 2024 03:50:28 +0530 Subject: [PATCH 4/9] remove unnecessary argument --- scripts/create-public-release.sh | 5 ++--- scripts/create-test-release.sh | 3 +-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/scripts/create-public-release.sh b/scripts/create-public-release.sh index c21d045..09f70e3 100755 --- a/scripts/create-public-release.sh +++ b/scripts/create-public-release.sh @@ -4,9 +4,8 @@ # jq APK_PATH="$1" -UNSIGNED_APK="$2" -COMMUNITY_APK="$3" -OFFICIAL_APK="$4" +COMMUNITY_APK="$2" +OFFICIAL_APK="$3" cat > data.json << EOF { diff --git a/scripts/create-test-release.sh b/scripts/create-test-release.sh index 1d849ff..6a120e8 100755 --- a/scripts/create-test-release.sh +++ b/scripts/create-test-release.sh @@ -4,8 +4,7 @@ # jq APK_PATH="$1" -UNSIGNED_APK="$2" -TEST_APK="$3" +TEST_APK="$2" cat > data.json << EOF { -- GitLab From f2af16a4102be073f979aa739694f2b4e4b5a72d Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Tue, 8 Oct 2024 04:04:59 +0530 Subject: [PATCH 5/9] remove create-public-release as it can be handled by create-release --- scripts/create-public-release.sh | 56 -------------------------------- 1 file changed, 56 deletions(-) delete mode 100755 scripts/create-public-release.sh diff --git a/scripts/create-public-release.sh b/scripts/create-public-release.sh deleted file mode 100755 index 09f70e3..0000000 --- a/scripts/create-public-release.sh +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/bin/env bash - -# Requires the following packages: -# jq - -APK_PATH="$1" -COMMUNITY_APK="$2" -OFFICIAL_APK="$3" - -cat > data.json << EOF -{ - "tag_name": "$CI_COMMIT_TAG", - "ref": "$CI_COMMIT_TAG", - "assets": { - "links": [ - { - "name": "community.json", - "url": "https://gitlab.e.foundation/api/v4/projects/$CI_PROJECT_ID/jobs/artifacts/${CI_COMMIT_TAG}/raw/community.json?job=create-public-release", - "direct_asset_path": "/json/community.json", - "link_type": "other" - }, - { - "name": "official.json", - "url": "https://gitlab.e.foundation/api/v4/projects/$CI_PROJECT_ID/jobs/artifacts/${CI_COMMIT_TAG}/raw/official.json?job=create-public-release", - "direct_asset_path": "/json/official.json", - "link_type": "other" - }, - { - "name": "$COMMUNITY_APK", - "url": "https://gitlab.e.foundation/api/v4/projects/$CI_PROJECT_ID/jobs/artifacts/${CI_COMMIT_TAG}/raw/$APK_PATH/$COMMUNITY_APK?job=generate-apks", - "link_type": "package" - }, - { - "name": "$OFFICIAL_APK", - "url": "https://gitlab.e.foundation/api/v4/projects/$CI_PROJECT_ID/jobs/artifacts/${CI_COMMIT_TAG}/raw/$APK_PATH/$OFFICIAL_APK?job=generate-apks", - "link_type": "package" - } - ] - } -} -EOF - -compressed_json=$(jq -c . data.json) - -response=$(curl --data "$compressed_json" \ - --header 'Content-Type: application/json' --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \ - --fail --output "/dev/null" --silent --show-error \ - --request POST https://gitlab.e.foundation/api/v4/projects/$CI_PROJECT_ID/releases) - -if [ $? -ne 0 ]; then - echo "Error: Failed to create release" - echo "Response: $response" - exit 1 -fi -echo "Public release created successfully" - -- GitLab From 87435c2e767825f7a0d78e12ffad493ed1070a64 Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Tue, 8 Oct 2024 04:11:09 +0530 Subject: [PATCH 6/9] use create-json-files in test release --- scripts/create-test-release.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/create-test-release.sh b/scripts/create-test-release.sh index 6a120e8..47b8f4f 100755 --- a/scripts/create-test-release.sh +++ b/scripts/create-test-release.sh @@ -14,7 +14,7 @@ cat > data.json << EOF "links": [ { "name": "test.json", - "url": "https://gitlab.e.foundation/api/v4/projects/$CI_PROJECT_ID/jobs/artifacts/${CI_COMMIT_TAG}/raw/community.json?job=create-test-release", + "url": "https://gitlab.e.foundation/api/v4/projects/$CI_PROJECT_ID/jobs/artifacts/${CI_COMMIT_TAG}/raw/community.json?job=create-json-files", "direct_asset_path": "/json/community.json", "link_type": "other" }, -- GitLab From 926c07d2a818bf28ddcce3c5747bb8371c2d4902 Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Tue, 8 Oct 2024 04:28:28 +0530 Subject: [PATCH 7/9] json file for test release --- scripts/create-json-files.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/scripts/create-json-files.sh b/scripts/create-json-files.sh index 08ddff4..dfa0756 100755 --- a/scripts/create-json-files.sh +++ b/scripts/create-json-files.sh @@ -8,6 +8,7 @@ APK_PATH="$1" SOURCE_APK="$2" COMMUNITY_APK="$3" OFFICIAL_APK="$4" +TEST_APK="$5" # Functions ==================== @@ -82,6 +83,7 @@ min_sdk="$(getApkInfo "sdkVersion:" "sdkVersion:")" application_label="$(getApkInfo "application:" "label=")" apk_size_community="$(getFileSizeInBytes $COMMUNITY_APK)" apk_size_official="$(getFileSizeInBytes $OFFICIAL_APK)" +apk_size_test="$(getFileSizeInBytes $TEST_APK)" echo "Package name - $package_name" echo "Version name - $version_name" echo "Version code - $version_code" @@ -89,6 +91,7 @@ echo "Minimum SDK - $min_sdk" echo "Application label - $application_label" echo "File size for - $COMMUNITY_APK - $apk_size_community" echo "File size for - $OFFICIAL_APK - $apk_size_official" +echo "File size for - $TEST_APK - $apk_size_test" # Generate json files ==================== @@ -102,9 +105,13 @@ if [[ "$BLOCKED_OFFICIAL" != "true" ]]; then editJson official.json "size" "$apk_size_official" fi +generateJsonFile test.json "https://gitlab.e.foundation/api/v4/projects/$CI_PROJECT_ID/jobs/artifacts/${CI_COMMIT_TAG}/raw/$APK_PATH/$TEST_APK?job=generate-apks" +editJson test.json "size" "$apk_size_test" + # Move json file for artifacts ==================== popd mv $APK_PATH/community.json . mv $APK_PATH/official.json . +mv $APK_PATH/test.json . -- GitLab From 079b9c6e1c739492d32727720df88a9edb7f4986 Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Tue, 8 Oct 2024 04:33:42 +0530 Subject: [PATCH 8/9] fix incorrect json name in create-test-release --- scripts/create-test-release.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/create-test-release.sh b/scripts/create-test-release.sh index 47b8f4f..8c053b8 100755 --- a/scripts/create-test-release.sh +++ b/scripts/create-test-release.sh @@ -14,7 +14,7 @@ cat > data.json << EOF "links": [ { "name": "test.json", - "url": "https://gitlab.e.foundation/api/v4/projects/$CI_PROJECT_ID/jobs/artifacts/${CI_COMMIT_TAG}/raw/community.json?job=create-json-files", + "url": "https://gitlab.e.foundation/api/v4/projects/$CI_PROJECT_ID/jobs/artifacts/${CI_COMMIT_TAG}/raw/test.json?job=create-json-files", "direct_asset_path": "/json/community.json", "link_type": "other" }, -- GitLab From 8b861ba5765c054ecd3560bfe84c4341aec37176 Mon Sep 17 00:00:00 2001 From: Hasib Prince Date: Thu, 10 Oct 2024 04:42:02 +0000 Subject: [PATCH 9/9] direct_asset_path is changed to test.json --- scripts/create-test-release.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/create-test-release.sh b/scripts/create-test-release.sh index 8c053b8..41362f2 100755 --- a/scripts/create-test-release.sh +++ b/scripts/create-test-release.sh @@ -15,7 +15,7 @@ cat > data.json << EOF { "name": "test.json", "url": "https://gitlab.e.foundation/api/v4/projects/$CI_PROJECT_ID/jobs/artifacts/${CI_COMMIT_TAG}/raw/test.json?job=create-json-files", - "direct_asset_path": "/json/community.json", + "direct_asset_path": "/json/test.json", "link_type": "other" }, { -- GitLab