From 0b9ae73369a8f5872b3fa6d14478e771819f6360 Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Sun, 10 Aug 2025 14:26:28 +0100 Subject: [PATCH] Add script to download and sign Android builds from GitHub Actions --- util/download_sign_android.sh | 54 +++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100755 util/download_sign_android.sh diff --git a/util/download_sign_android.sh b/util/download_sign_android.sh new file mode 100755 index 000000000..255b05f73 --- /dev/null +++ b/util/download_sign_android.sh @@ -0,0 +1,54 @@ +#!/bin/bash + +# Install gh +# Login with gh auth login +# +# Usage: ./download_sign_android.sh 5.13.0 + +set -e + +TAG="$1" +REPO="luanti-org/luanti" +WORKFLOW_NAME="android" +APKSIGNER="$HOME/Android/Sdk/build-tools/35.0.0/apksigner" +KEYSTORE="$HOME/Documents/keystore-luanti.jks" + +if [[ -z "$TAG" ]]; then + echo "Usage: $0 " + exit 1 +fi + +echo "Finding workflow run for '$WORKFLOW_NAME' with tag '$TAG'..." + +RUN_ID=$(gh run list --workflow="$WORKFLOW_NAME" --repo "$REPO" --branch "$TAG" --json databaseId -q '.[0].databaseId') + +if [[ -z "$RUN_ID" ]]; then + echo "No run found for workflow '$WORKFLOW_NAME' and tag '$TAG'" + exit 1 +fi + +echo "Found run ID: $RUN_ID" + +echo "Downloading all artifacts from run..." + +mkdir -p unsigned +gh run download "$RUN_ID" --repo "$REPO" -D unsigned + + +echo "Signing packages" +read -s -p "Enter your password: " PASSWORD +echo + +sign() { + echo "Signing $2" + "$APKSIGNER" sign --ks "$KEYSTORE" --ks-pass "pass:$PASSWORD" --min-sdk-version 21 --in "$1" --out "$2" +} + +mkdir -p signed +sign unsigned/Luanti-arm64-v8a.apk/app-arm64-v8a-release-unsigned.apk "signed/luanti-$TAG-arm64-v8a.apk" +sign unsigned/Luanti-armeabi-v7a.apk/app-armeabi-v7a-release-unsigned.apk "signed/luanti-$TAG-armeabi-v7a.apk" +sign unsigned/Luanti-release.aab/app-release.aab "signed/luanti-$TAG.aab" +sign unsigned/Luanti-x86_64.apk/app-x86_64-release-unsigned.apk "signed/luanti-$TAG-x86_64.apk" +sign unsigned/Luanti-x86.apk/app-x86-release-unsigned.apk "signed/luanti-$TAG-x86.apk" + +echo "Done."