## See https://github.com/flutter/gallery/blob/main/.github/workflows/release_deploy_play_store.yml name: Release on Play Store on: # Enable manual run workflow_dispatch: inputs: lane: description: "Fastlane lane" required: true default: "alpha" type: choice options: - internal - promote_to_alpha - alpha - promote_to_beta - beta - promote_to_production - production is_draft: description: "Only create a draft and don't automatically publish?" required: true default: true type: boolean # Declare default permissions as read only. permissions: read-all jobs: fastlane-deploy-to-play-store: name: "Deploy to Google Play Store" runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v3 - name: Clone flutter repository uses: subosito/flutter-action@v2 with: channel: stable - run: flutter doctor -v - name: Setup signing config uses: ./.github/actions/setup-android-signing-config with: keystore-key-alias: ${{ secrets.KEYSTORE_KEY_ALIAS }} keystore-key-password: ${{ secrets.KEYSTORE_KEY_PASSWORD }} keystore-store-password: ${{ secrets.KEYSTORE_STORE_PASSWORD }} release-keystore: ${{ secrets.RELEASE_KEYSTORE }} release-keystore-passphrase: ${{ secrets.RELEASE_KEYSTORE_PASSPHRASE }} - name: Get packages and run codegen run: | bash install_dependencies.sh working-directory: scripts - name: Setup Fastlane uses: ruby/setup-ruby@v1 with: ruby-version: "2.6" bundler-cache: true working-directory: android # Build and deploy with Fastlane # Naturally, promote_to_{alpha|beta|production} only deploys. - run: bundle exec fastlane ${{ github.event.inputs.lane }} env: PLAY_STORE_CREDENTIALS: ${{ secrets.PLAY_STORE_CREDENTIALS }} working-directory: android