This repository was archived by the owner on Jan 17, 2025. It is now read-only.
docs: Update README.md (#20) #48
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
# Deploy the app to stable. Not builds for development/QA | |
name: Deploy non-development builds | |
on: | |
push: | |
branches: [main] | |
env: | |
XCODE_VERSION: "14.0" | |
GITHUB_CONTEXT: ${{ toJSON(github) }} # used by fastlane for deploying app | |
FASTLANE_XCODEBUILD_SETTINGS_RETRIES: 6 # increase timeout for xcodebuild settings. We have seen this command take a bit longer to do on CI server. | |
permissions: | |
contents: write # access to push the git tag | |
issues: write # Bot creates an issue if there is an issue during deployment process | |
pull-requests: write # allow bot to make comments on PRs after they get deployed | |
jobs: | |
deploy-app: | |
name: Deploy app | |
runs-on: macos-12 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up JDK | |
uses: actions/setup-java@v2 | |
with: | |
distribution: 'adopt' | |
java-version: '11' # Robolectric requires v9, but we choose LTS: https://adoptopenjdk.net/ | |
- name: Setup Android SDK | |
uses: android-actions/setup-android@v2 | |
- name: Setup environment for building and releasing app | |
uses: ./.github/actions/prepare-for-app-build | |
with: | |
GOOGLE_SERVICES_BASE64: "${{ secrets.GOOGLE_SERVICES_BASE64 }}" # cat ios/SampleApp/Google-Services.plist | base64 | |
ENV_FILE_B64: "${{ secrets.ENV_FILE_B64 }}" # cat .env | base64 | |
ENV_FILE_SWIFT_B64: "${{ secrets.ENV_FILE_SWIFT_B64 }}" # cat Env.swift | base64 | |
FIREBASE_APP_DISTRIBUTION_GOOGLE_AUTH: ${{ secrets.FIREBASE_APP_DISTRIBUTION_GOOGLE_AUTH }} # cat ami_app_ci_server-google_cloud_service_account.json | base64 | |
MATCH_GOOGLE_CLOUD_KEYS_B64: ${{ secrets.MATCH_GOOGLE_CLOUD_KEYS_B64 }} # cat gc_keys.json | base64 | |
GOOGLE_SERVICES_ANDROID_BASE64: ${{ secrets.GOOGLE_SERVICES_ANDROID_BASE64 }} # cat android/app/google-services.json | base64 | |
# Perform git related tasks inside of semantic-release because `git config user...` is already setup. It's easier to run commands in there with exec plugin. | |
- name: Deploy app via semantic release | |
uses: cycjimmy/semantic-release-action@v2 | |
id: semantic-release | |
with: | |
# version numbers below can be in many forms: M, M.m, M.m.p | |
semantic_version: 18 | |
extra_plugins: | | |
@semantic-release/changelog@6 | |
@semantic-release/git@10 | |
@semantic-release/exec@6 | |
env: | |
# Needs to push git commits to repo. Needs write access. | |
# github access token to Ami CI shared github account. | |
# token scoped to just public repositories and is added as a collaborator to the project so it can push code. | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
GITHUB_CONTEXT: ${{ toJSON(github) }} # used by fastlane for deploying app | |
FIREBASE_APP_ID: ${{ secrets.FIREBASE_APP_ID }} # for firebase ios app distribution | |
FIREBASE_ANDROID_APP_ID: ${{ secrets.FIREBASE_ANDROID_APP_ID }} # for firebase android app distribution | |
APP_STORE_CONNECT_API_KEY_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_ID }} | |
APP_STORE_CONNECT_API_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_API_ISSUER_ID }} | |
APP_STORE_CONNECT_API_KEY_CONTENT_B64: ${{ secrets.APP_STORE_CONNECT_API_KEY_CONTENT_B64 }} |