Files
xamarin-neo4j/.github/workflows/deploy-playstore.yml
Gerwin Kuijntjes d099f72398 Fix Play Store workflow YAML syntax, extract version script
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 13:39:40 +02:00

71 lines
2.4 KiB
YAML

name: Deploy to Play Store
on:
push:
branches: ["main"]
paths:
- "Xamarin.Neo4j/**"
release:
types: [published]
workflow_dispatch:
jobs:
build-and-deploy:
runs-on: ubuntu-latest
timeout-minutes: 45
environment: android-prod
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: "10.0.x"
- name: Setup JDK
uses: actions/setup-java@v4
with:
distribution: microsoft
java-version: "21"
- name: Install MAUI Android workload
run: dotnet workload install maui-android
- name: Decode keystore
run: echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 -d > ${{ runner.temp }}/pocketgraph.jks
- name: Get next version code from Play Store
id: version
env:
PLAY_SERVICE_ACCOUNT_JSON: ${{ secrets.PLAY_SERVICE_ACCOUNT_JSON }}
run: |
pip install google-api-python-client google-auth --quiet
VERSION_CODE=$(python3 .github/scripts/get_version_code.py)
sed -i "s/android:versionCode=\"[^\"]*\"/android:versionCode=\"$VERSION_CODE\"/" \
Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.Android/Properties/AndroidManifest.xml
echo "version_code=$VERSION_CODE" >> $GITHUB_OUTPUT
echo "Version code: $VERSION_CODE"
- name: Build signed AAB
working-directory: Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.Android
run: |
dotnet publish -f net10.0-android -c Release \
-p:AndroidPackageFormat=aab \
-p:AndroidKeyStore=true \
-p:AndroidSigningKeyStore=${{ runner.temp }}/pocketgraph.jks \
-p:AndroidSigningKeyAlias=${{ secrets.KEYSTORE_ALIAS }} \
-p:AndroidSigningStorePass=${{ secrets.KEYSTORE_STORE_PASS }} \
-p:AndroidSigningKeyPass=${{ secrets.KEYSTORE_KEY_PASS }}
- name: Upload to Play Store
uses: r0adkll/upload-google-play@v1
with:
serviceAccountJsonPlainText: ${{ secrets.PLAY_SERVICE_ACCOUNT_JSON }}
packageName: nl.resoftware.pocketgraph
releaseFiles: Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.Android/bin/Release/net10.0-android/publish/*-Signed.aab
track: internal
status: completed
whatsNewDirectory: Xamarin.Neo4j/distribution/whatsnew