Some checks are pending
🏗️ Build and Test JellyTau / Run Tests (push) Successful in 5m18s
Traceability Validation / Check Requirement Traces (push) Successful in 21s
🏗️ Build and Test JellyTau / Android Compile Check (push) Successful in 5m13s
Build & Release / Build Android (push) Blocked by required conditions
Build & Release / Create Release (push) Blocked by required conditions
Build & Release / Run Tests (push) Successful in 5m4s
Build & Release / Build Linux (push) Successful in 17m29s
53 lines
1.8 KiB
Bash
Executable File
53 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
# Regenerate src-tauri/gen/android/keystore.properties from the gitignored .env.
|
|
#
|
|
# .env is the single source of truth for local release signing. `tauri android
|
|
# init` wipes/regenerates gen/android, so keystore.properties must be rewritten
|
|
# from .env before every release build (this is the local mirror of what the CI
|
|
# workflow does from Gitea secrets).
|
|
#
|
|
# Required .env vars:
|
|
# ANDROID_KEY_ALIAS, ANDROID_KEYSTORE_PASSWORD, ANDROID_KEY_PASSWORD,
|
|
# ANDROID_KEYSTORE_FILE (absolute path to the .jks)
|
|
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(dirname "$SCRIPT_DIR")"
|
|
ENV_FILE="$PROJECT_ROOT/.env"
|
|
PROPS="$PROJECT_ROOT/src-tauri/gen/android/keystore.properties"
|
|
|
|
if [ ! -f "$ENV_FILE" ]; then
|
|
echo "❌ $ENV_FILE not found — cannot configure release signing." >&2
|
|
echo " Create it with ANDROID_KEY_ALIAS / ANDROID_KEYSTORE_PASSWORD /" >&2
|
|
echo " ANDROID_KEY_PASSWORD / ANDROID_KEYSTORE_FILE." >&2
|
|
exit 1
|
|
fi
|
|
|
|
# Load .env without leaking it into the caller's environment beyond what we need.
|
|
set -a
|
|
# shellcheck disable=SC1090
|
|
. "$ENV_FILE"
|
|
set +a
|
|
|
|
: "${ANDROID_KEY_ALIAS:?ANDROID_KEY_ALIAS missing from .env}"
|
|
: "${ANDROID_KEYSTORE_PASSWORD:?ANDROID_KEYSTORE_PASSWORD missing from .env}"
|
|
: "${ANDROID_KEY_PASSWORD:?ANDROID_KEY_PASSWORD missing from .env}"
|
|
: "${ANDROID_KEYSTORE_FILE:?ANDROID_KEYSTORE_FILE missing from .env}"
|
|
|
|
if [ ! -f "$ANDROID_KEYSTORE_FILE" ]; then
|
|
echo "❌ Keystore not found at ANDROID_KEYSTORE_FILE=$ANDROID_KEYSTORE_FILE" >&2
|
|
exit 1
|
|
fi
|
|
|
|
mkdir -p "$(dirname "$PROPS")"
|
|
umask 077
|
|
cat > "$PROPS" <<EOF
|
|
storeFile=$ANDROID_KEYSTORE_FILE
|
|
storePassword=$ANDROID_KEYSTORE_PASSWORD
|
|
keyAlias=$ANDROID_KEY_ALIAS
|
|
keyPassword=$ANDROID_KEY_PASSWORD
|
|
EOF
|
|
|
|
echo "🔐 Wrote release signing config to keystore.properties (from .env)"
|