diff --git a/scripts/create-json-files.sh b/scripts/create-json-files.sh index 08ddff468ba9e98c795be266703483fde761a8be..dfa0756d0f3c0d935ae19a8a68ca9ee2a4e875b3 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 . diff --git a/scripts/create-test-release.sh b/scripts/create-test-release.sh new file mode 100755 index 0000000000000000000000000000000000000000..41362f25e637d73ed487f723e824cfeee9d70788 --- /dev/null +++ b/scripts/create-test-release.sh @@ -0,0 +1,44 @@ +#!/usr/bin/env bash + +# Requires the following packages: +# jq + +APK_PATH="$1" +TEST_APK="$2" + +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/test.json?job=create-json-files", + "direct_asset_path": "/json/test.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" + diff --git a/scripts/generate-apks.sh b/scripts/generate-apks.sh index 374f4a83c4f4694ff14b42299d9a6285dea8aaec..6eea7068cbbdf1386805893007fa3bd7d78f4246 100755 --- a/scripts/generate-apks.sh +++ b/scripts/generate-apks.sh @@ -13,11 +13,16 @@ 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 +if [[ -n "$TEST_APK" ]]; then + cp $UNSIGNED_APK $TEST_APK +fi + echo "${KEYSTORE}" | base64 -d > ~/proprietary.keystore.jks java -jar /usr/bin/apksigner sign \ @@ -42,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"