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 - name: Make gradlew executable
run: chmod +x gradlew 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 - name: Configure Android signing
working-directory: composeApp working-directory: composeApp
env: env:
KEYSTORE: ${{ secrets.KEYSTORE }}
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }} KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
KEYSTORE_KEY_ALIAS: ${{ secrets.KEYSTORE_KEY_ALIAS }} KEYSTORE_KEY_ALIAS: ${{ secrets.KEYSTORE_KEY_ALIAS }}
KEYSTORE_KEY_PASSWORD: ${{ secrets.KEYSTORE_KEY_PASSWORD }} KEYSTORE_KEY_PASSWORD: ${{ secrets.KEYSTORE_KEY_PASSWORD }}
run: | run: |
cat >> local.properties <<EOF if [ -n "$KEYSTORE" ]; then
release.signing.storeFile=${{ github.workspace }}/composeApp/upload-keystore.jks echo "$KEYSTORE" | base64 --decode > "${{ github.workspace }}/composeApp/upload-keystore.jks"
release.signing.storePassword=${KEYSTORE_PASSWORD} echo "release.signing.storeFile=${{ github.workspace }}/composeApp/upload-keystore.jks" >> local.properties
release.signing.keyAlias=${KEYSTORE_KEY_ALIAS} echo "release.signing.storePassword=${KEYSTORE_PASSWORD}" >> local.properties
release.signing.keyPassword=${KEYSTORE_KEY_PASSWORD} echo "release.signing.keyAlias=${KEYSTORE_KEY_ALIAS}" >> local.properties
EOF 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 - name: Assemble Release
run: | run: |