ci: add fallback keystore generation for multiplatform release workflow

Co-Authored-By: pgwiz <pgwiz@users.noreply.github.com>
This commit is contained in:
pgwiz 2026-10-28 08:58:03 +03:00
parent 13fef429f4
commit 02d903e5ed

View File

@ -105,25 +105,28 @@ jobs:
- name: Make gradlew executable
run: chmod +x gradlew
- name: Decode keystore
env:
KEYSTORE: ${{ secrets.KEYSTORE }}
run: |
echo "$KEYSTORE" | base64 --decode > "${{ github.workspace }}/composeApp/upload-keystore.jks"
- name: Configure Android signing
working-directory: composeApp
env:
KEYSTORE: ${{ secrets.KEYSTORE }}
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
KEYSTORE_KEY_ALIAS: ${{ secrets.KEYSTORE_KEY_ALIAS }}
KEYSTORE_KEY_PASSWORD: ${{ secrets.KEYSTORE_KEY_PASSWORD }}
run: |
cat >> local.properties <<EOF
release.signing.storeFile=${{ github.workspace }}/composeApp/upload-keystore.jks
release.signing.storePassword=${KEYSTORE_PASSWORD}
release.signing.keyAlias=${KEYSTORE_KEY_ALIAS}
release.signing.keyPassword=${KEYSTORE_KEY_PASSWORD}
EOF
if [ -n "$KEYSTORE" ]; then
echo "$KEYSTORE" | base64 --decode > "${{ github.workspace }}/composeApp/upload-keystore.jks"
echo "release.signing.storeFile=${{ github.workspace }}/composeApp/upload-keystore.jks" >> local.properties
echo "release.signing.storePassword=${KEYSTORE_PASSWORD}" >> local.properties
echo "release.signing.keyAlias=${KEYSTORE_KEY_ALIAS}" >> local.properties
echo "release.signing.keyPassword=${KEYSTORE_KEY_PASSWORD}" >> local.properties
else
echo "No custom keystore secret found, generating build keystore..."
keytool -genkey -v -keystore "${{ github.workspace }}/composeApp/upload-keystore.jks" -alias spotube -keyalg RSA -keysize 2048 -validity 10000 -storepass spotubepass -keypass spotubepass -dname "CN=Spotube, OU=Mobile, O=Spotube, C=US"
echo "release.signing.storeFile=${{ github.workspace }}/composeApp/upload-keystore.jks" >> local.properties
echo "release.signing.storePassword=spotubepass" >> local.properties
echo "release.signing.keyAlias=spotube" >> local.properties
echo "release.signing.keyPassword=spotubepass" >> local.properties
fi
- name: Assemble Release
run: |