deploy-android-to-play-store #42
This file contains 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-android-to-play-store | |
on: | |
workflow_dispatch: | |
inputs: | |
android: | |
description: "Deploy android to play store" | |
required: false | |
type: boolean | |
jobs: | |
android: | |
name: android build | |
runs-on: ubuntu-latest | |
if: inputs.android == true | |
defaults: | |
run: | |
working-directory: mobile-v3 | |
steps: | |
- name: Checkout | |
uses: "actions/checkout@v4" | |
- name: set up JDK | |
uses: actions/setup-java@v3 | |
with: | |
distribution: "temurin" | |
java-version: "17" | |
- name: Install Flutter | |
uses: subosito/flutter-action@v2.10.0 | |
with: | |
channel: "stable" | |
- name: Google login | |
uses: google-github-actions/auth@v1.0.0 | |
with: | |
credentials_json: ${{ secrets.GCP_SA_CREDENTIALS }} | |
- name: Setup Cloud SDK(gcloud) | |
uses: google-github-actions/setup-gcloud@v1 | |
- name: Add google-services.json for Firebase | |
run: gcloud secrets versions access latest --secret="prod-key-mobile-android-firebase-json" > android/app/google-services.json | |
- name: Add keystore and key.properties files | |
run: | | |
cd android/ | |
gcloud secrets versions access latest --secret="prod-key-mobile-upload-keystore-encrypted" | base64 -di > app/upload-keystore.jks | |
gcloud secrets versions access latest --secret="prod-key-mobile-airqo-dev-keystore" | base64 -di > app/airqo-dev-keystore.jks | |
gcloud secrets versions access latest --secret="prod-key-mobile-app" > prod-key.properties | |
gcloud secrets versions access latest --secret="prod-key-mobile-properties-CI" > key.properties | |
- name: Add firebase options files | |
run: | | |
cd lib/ | |
gcloud secrets versions access latest --secret="prod-key-mobile-firebase-options-dev" > firebase_options_dev.dart | |
gcloud secrets versions access latest --secret="prod-key-mobile-firebase-options" > firebase_options.dart | |
- name: Add .env files | |
run: | | |
gcloud secrets versions access latest --secret="prod-env-mobile-app" > .env.prod | |
gcloud secrets versions access latest --secret="prod-env-mobile-CI" > .env.dev | |
- name: Setup Fastlane | |
uses: ruby/setup-ruby@v1.123.0 | |
with: | |
ruby-version: "3.1.0" | |
working-directory: mobile-v3/android | |
- name: Install bundle | |
run: | | |
cd android/ | |
bundle config path vendor/bundle | |
bundle install --jobs 4 --retry 3 | |
- name: Deploy to play store | |
run: | | |
cd android/ | |
echo $MOBILE_ANDROID_PLAYSTORE_SA > play-store-service-account.json | |
bundle exec fastlane supply init | |
mkdir -p fastlane/metadata/android/en-US/changelogs | |
touch fastlane/metadata/android/en-US/changelogs/default.txt | |
if [ ! -f fastlane/release_notes.txt ]; then | |
echo "App release version 3.0.2" > fastlane/release_notes.txt | |
fi | |
cat fastlane/release_notes.txt > fastlane/metadata/android/en-US/changelogs/default.txt | |
bundle exec fastlane android play_store | |
env: | |
MOBILE_ANDROID_PLAYSTORE_SA: ${{secrets.MOBILE_ANDROID_PLAYSTORE_SA}} |