fix(ci): diagnose KEYSTORE_BASE64 decode failure
Android Build / build-apk (push) Has been cancelled
Build and Deploy / build-and-push (push) Has been cancelled
Android Release / build-release-apk (push) Has been cancelled

base64 -d is failing (1s step, keystore 0 bytes). Add diagnostics:
- Print secret length to check for truncation
- Capture base64 error output
- Print exit code and file size
- Use --decode instead of -d for clarity

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
funman300
2026-05-14 15:37:14 -07:00
parent 29f9b9358e
commit d49c478efa
+9 -3
View File
@@ -102,10 +102,16 @@ jobs:
# ── Build & sign with release keystore ─────────────────────────────
- name: Decode keystore
run: |
echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 -d > /tmp/solitaire-release.jks
secret_len=$(echo -n "${{ secrets.KEYSTORE_BASE64 }}" | wc -c)
echo "KEYSTORE_BASE64 secret length: ${secret_len} chars"
set +e
echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 --decode > /tmp/solitaire-release.jks 2>/tmp/b64_err.txt
b64_exit=$?
set -e
size=$(wc -c < /tmp/solitaire-release.jks)
echo "Keystore size: ${size} bytes"
[ "$size" -gt 0 ] || { echo "ERROR: KEYSTORE_BASE64 secret is empty or unset"; exit 1; }
echo "base64 exit code: ${b64_exit}, keystore size: ${size} bytes"
[ -s /tmp/b64_err.txt ] && echo "base64 error: $(cat /tmp/b64_err.txt)" || true
[ "$size" -gt 0 ] || { echo "ERROR: KEYSTORE_BASE64 is empty or invalid base64"; exit 1; }
- name: Build signed release APK
env: