Skip to content

Deploy to Google Play Internal #2

Deploy to Google Play Internal

Deploy to Google Play Internal #2

name: Deploy to Google Play Internal
on:
push:
tags: [ 'v*' ]
workflow_dispatch:
jobs:
deploy_google_play_internal:
name: Deploy to Google Play Internal
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- uses: gradle/actions/wrapper-validation@v4
- name: Setup Ruby (for Fastlane)
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.3' # Not needed with a .ruby-version file
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- name: Install Fastlane
run: bundle install
# Decode Secrets
- name: Decode secrets
run: |
echo "$KEYSTORE_PROD" > app/keystore.jks.base64
base64 -d -i app/keystore.jks.base64 > app/keystore.jks
env:
KEYSTORE_PROD: ${{ secrets.KEYSTORE_PROD }}
- name: Decode Firebase App Distribution JSON file
run: |
echo "$KEYSTORE_PROD" > app/keystore.jks.base64
base64 -d -i app/keystore.jks.base64 > app/keystore.jks
echo "$GOOGLE_PLAY_DISTRIBUTION_JSON" > app/google-play-distribution.json.base64
base64 -d -i app/google-play-distribution.json.base64 > app/google-play-distribution.json
echo "$GOOGLE_SERVICES_JSON" > app/google-services.json.base64
base64 -d -i app/google-services.json.base64 > app/google-services.json
env:
KEYSTORE_PROD: ${{ secrets.KEYSTORE_PROD }}
GOOGLE_PLAY_DISTRIBUTION_JSON: ${{ secrets.GOOGLE_PLAY_DISTRIBUTION_JSON }}
GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICES_JSON }}
- name: Build App Bundle and deploy to Google Play Internal Testing
run: bundle exec fastlane deploy_google_play_internal
env:
SIGNING_KEYSTORE: ${{ github.workspace }}/app/keystore.jks
SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS }}
SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }}
SIGNING_STORE_PASSWORD: ${{ secrets.SIGNING_STORE_PASSWORD }}