Deploy to Play Store #204
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Deploy to Play Store | |
| on: | |
| # Enable manual run | |
| workflow_dispatch: | |
| inputs: | |
| lane: | |
| description: "Fastlane lane" | |
| required: true | |
| default: "internal" | |
| type: choice | |
| options: | |
| - internal | |
| - alpha | |
| - production | |
| # Declare default permissions as read only. | |
| permissions: read-all | |
| jobs: | |
| fastlane-deploy: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Set up JDK 17 | |
| uses: actions/setup-java@v5.2.0 | |
| with: | |
| java-version: 17 | |
| distribution: temurin | |
| - name: Checkout mobile code | |
| uses: actions/checkout@v6.0.2 | |
| - name: Install Flutter | |
| uses: subosito/flutter-action@v2.23.0 | |
| with: | |
| channel: stable | |
| flutter-version-file: pubspec.yaml | |
| - run: flutter --version | |
| - name: Install dependencies | |
| run: flutter pub get | |
| - name: Code generation | |
| run: dart run build_runner build | |
| - name: Setup Fastlane | |
| uses: ruby/setup-ruby@v1.310.0 | |
| with: | |
| ruby-version: "3.2" | |
| bundler-cache: true | |
| working-directory: android | |
| - name: Configure Keystore | |
| run: | | |
| echo "$PLAY_STORE_UPLOAD_KEY" | base64 --decode > app/upload-keystore.jks | |
| echo "storeFile=upload-keystore.jks" >> key.properties | |
| echo "keyAlias=$KEYSTORE_KEY_ALIAS" >> key.properties | |
| echo "storePassword=$KEYSTORE_STORE_PASSWORD" >> key.properties | |
| echo "keyPassword=$KEYSTORE_KEY_PASSWORD" >> key.properties | |
| env: | |
| PLAY_STORE_UPLOAD_KEY: ${{ secrets.PLAY_STORE_UPLOAD_KEY }} | |
| KEYSTORE_KEY_ALIAS: ${{ secrets.KEYSTORE_KEY_ALIAS }} | |
| KEYSTORE_KEY_PASSWORD: ${{ secrets.KEYSTORE_KEY_PASSWORD }} | |
| KEYSTORE_STORE_PASSWORD: ${{ secrets.KEYSTORE_STORE_PASSWORD }} | |
| working-directory: android | |
| - name: Exec fastlane deploy | |
| run: bundle exec fastlane ${{ github.event.inputs.lane || 'internal' }} | |
| env: | |
| PLAY_STORE_CONFIG_JSON: ${{ secrets.PLAY_STORE_CONFIG_JSON }} | |
| WS_SECRET: ${{ secrets.WS_SECRET }} | |
| working-directory: android | |
| - name: Install Firebase CLI | |
| run: curl -sL https://firebase.tools | bash | |
| - name: Deploy symbols to Firebase Crashlytics | |
| run: firebase --token="${{ secrets.FIREBASE_CI }}" crashlytics:symbols:upload --app="${{ secrets.FIREBASE_ANDROID_APP_ID }}" ./build/app/outputs/bundle/release/symbols |