ci: base64 key generating

This commit is contained in:
2026-09-03 00:39:40 +03:00
parent 8f4ab2783e
commit 91ea47f63a
2 changed files with 38 additions and 0 deletions
+6
View File
@@ -18,3 +18,9 @@ local.properties
/app/build
/app/release
/.idea
# Keystore подписи и его base64-представление для Gitea-секрета
*.jks
*.keystore
/scripts/.keystore.b64
.keystore.b64
+32
View File
@@ -0,0 +1,32 @@
#!/usr/bin/env bash
# Готовит содержимое keystore (.jks) для вставки в секрет ANDROID_KEYSTORE
# Кодирует файл в base64 одной длинной строкой (без переносов) и сохраняет в файл .keystore.b64 рядом со скриптом.
set -euo pipefail
if [ "$#" -ne 1 ]; then
echo "Usage: <path>" >&2
exit 1
fi
KEYSTORE="$1"
if [ ! -f "$KEYSTORE" ]; then
echo "File not found: $KEYSTORE" >&2
exit 1
fi
# base64 -w0: без переносов строк. (на macOS base64 не имеет -w)
if base64 --help 2>/dev/null | grep -q '\-w'; then
ENCODED=$(base64 -w0 "$KEYSTORE")
else
ENCODED=$(base64 <"$KEYSTORE" | tr -d '\n')
fi
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
OUTFILE="$SCRIPT_DIR/.keystore.b64"
printf '%s\n' "$ENCODED" >"$OUTFILE"
echo "Keystore: $KEYSTORE"
echo "Output: $OUTFILE"
echo "Size: ${#ENCODED} chars"