name: Distribute app to Play Store on: workflow_dispatch: inputs: app_version: description: 'Version of application (e.g. v1.0.0)' required: true default: v1.0.0 branch: description: 'From which branch the application will be built' required: true default: main track: description: 'Play Store track (alpha, beta, production)' required: true default: alpha type: choice options: - alpha - beta - production status: description: 'Release status (draft, completed, inProgress=staged)' required: true default: draft type: choice options: - draft - completed - inProgress user_fraction: description: 'Staged rollout fraction for inProgress (e.g. 0.2 = 20%). Ignored unless status=inProgress.' required: false default: '0.2' type: string jobs: build: uses: pezkuwichain/pezkuwi-wallet-android/.github/workflows/android_build.yml@main with: branch: ${{ github.event.inputs.branch }} gradlew-command: bundleReleaseMarket keystore-file-name: market_key.jks secrets: inherit upload: runs-on: ubuntu-latest needs: build steps: - uses: actions/checkout@v4 - name: Download bundle artifact uses: actions/download-artifact@v4 with: name: apk-bundle path: app/bundle - name: Download mapping artifact uses: actions/download-artifact@v4 with: name: apk-mapping path: app/mapping continue-on-error: true - name: Download native debug symbols uses: actions/download-artifact@v4 with: name: apk-native-debug-symbols path: app/native-debug-symbols continue-on-error: true - name: Rename artifacts run: mv app/bundle/releaseMarket/app-releaseMarket.aab app/bundle/releaseMarket/pezkuwi-wallet-android-${{ github.event.inputs.app_version }}.aab - name: Check for native debug symbols id: check-symbols run: | if [ -f "app/native-debug-symbols/releaseMarket/native-debug-symbols.zip" ]; then echo "path=app/native-debug-symbols/releaseMarket/native-debug-symbols.zip" >> $GITHUB_OUTPUT fi - name: Market publication uses: r0adkll/upload-google-play@v1 with: serviceAccountJsonPlainText: ${{ secrets.CREDENTIAL_FILE_CONTENT }} packageName: io.pezkuwichain.wallet releaseFiles: app/bundle/releaseMarket/pezkuwi-wallet-android-${{ github.event.inputs.app_version }}.aab track: ${{ github.event.inputs.track }} status: ${{ github.event.inputs.status }} # userFraction only applies to staged rollout (status=inProgress); empty otherwise userFraction: ${{ github.event.inputs.status == 'inProgress' && github.event.inputs.user_fraction || '' }} inAppUpdatePriority: 2 whatsNewDirectory: distribution/whatsnew mappingFile: app/mapping/releaseMarket/mapping.txt debugSymbols: ${{ steps.check-symbols.outputs.path }}