Deploy test to Android play store #8
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 test to Android play store | |
on: | |
workflow_dispatch: | |
inputs: | |
environment: | |
type: choice | |
description: Select the environment | |
options: | |
- staging | |
- production | |
default: 'staging' | |
new_release_notes: | |
required: true | |
type: string | |
description: "The release notes for the new release (Unused atm)" | |
jobs: | |
deploy_playstore_internal: | |
environment: | |
name: ${{ inputs.environment }} | |
env: | |
WEB_APP_ENV: ${{ vars.WEB_APP_ENV }} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- run: cat .github/workflows/versions.env >> $GITHUB_ENV | |
- uses: actions/setup-java@v4 | |
with: | |
java-version: ${{ env.JAVA_VERSION }} | |
distribution: 'zulu' | |
- uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: ${{ env.FLUTTER_VERSION }} | |
cache: true | |
- name: Set up Android SDK | |
if: ${{ env.ACT }} # Only run on local act setups, as GitHub Actions provides the Android SDK on Ubuntu | |
uses: android-actions/setup-android@v2 | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: '3.3' | |
- name: Update env files to selected environment | |
run: | | |
rm .env | |
rm assets/.env | |
echo "$WEB_APP_ENV" >> .env | |
cp .env assets/.env | |
- name: Apply .env patch | |
run: git apply ./scripts/enable_mobile_env.patch | |
- name: Install Fastlane | |
run: gem install fastlane -NV | |
- name: Remove Emoji Font | |
run: | | |
rm -rf fonts/NotoEmoji | |
yq -i 'del( .flutter.fonts[] | select(.family == "NotoEmoji") )' pubspec.yaml | |
- run: flutter pub get | |
- name: Prepare Android Release Build | |
env: | |
PLAY_STORE_UPLOAD_KEY: ${{ secrets.PLAY_STORE_UPLOAD_KEY }} | |
PLAY_STORE_KEYSTORE_KEY_ALIAS: ${{ secrets.PLAY_STORE_KEYSTORE_KEY_ALIAS }} | |
PLAY_STORE_KEYSTORE_STORE_PASSWORD: ${{ secrets.PLAY_STORE_KEYSTORE_STORE_PASSWORD }} | |
PLAY_STORE_KEYSTORE_KEY_PASSWORD: ${{ secrets.PLAY_STORE_KEYSTORE_KEY_PASSWORD }} | |
PLAY_STORE_CONFIG_JSON: ${{ secrets.PLAY_STORE_CONFIG_JSON }} | |
run: ./scripts/prepare-android-release.sh | |
- name: Build Android Release | |
run: flutter build appbundle --target-platform android-arm,android-arm64,android-x64 | |
- name: Deploy Android Release | |
env: | |
RELEASE_NOTES: ${{ inputs.new_release_notes }} | |
run: | | |
mkdir -p build/android | |
cp build/app/outputs/bundle/release/app-release.aab build/android/ | |
cd android | |
bundle install | |
bundle update fastlane | |
bundle exec fastlane deploy_internal_test | |
cd .. | |
deploy_ios_testflight: # stashed on old.yml | |
environment: | |
name: ${{ inputs.environment }} | |
env: | |
WEB_APP_ENV: ${{ vars.WEB_APP_ENV }} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 |