Build Production #229
Workflow file for this run
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: Build Production | |
on: | |
push: | |
branches-ignore: | |
- '**' | |
tags: | |
- 'v**' | |
jobs: | |
build-ios: | |
runs-on: macOS-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
- name: Get yarn cache | |
id: yarn-cache | |
run: echo "::set-output name=dir::$(yarn cache dir)" | |
- uses: actions/cache@v1 | |
with: | |
path: ${{ steps.yarn-cache.outputs.dir }} | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- uses: actions/cache@v1 | |
with: | |
path: ios/Pods | |
key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }} | |
restore-keys: | | |
${{ runner.os }}-pods- | |
- name: Install dependencies | |
run: yarn | |
- name: Compile | |
run: yarn compile | |
- uses: actions/cache@v1 | |
with: | |
path: ios/vendor/bundle | |
key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }} | |
restore-keys: | | |
${{ runner.os }}-gem- | |
- name: Install fastlane | |
run: | | |
bundle config path vendor/bundle | |
bundle install --jobs 4 --retry 3 | |
working-directory: ios | |
- name: Set Release secret | |
run: | | |
mkdir -p ios/builds | |
echo ${{ secrets.APPLE_CERTIFICATE_P12 }} | base64 -d > ios/builds/apple_dist_cert.p12 | |
echo ${{ secrets.APPLE_CONNECT_API_KEY_SECRET }} | base64 -d > ios/builds/AuthKey.p8 | |
- name: Set sentry.properties | |
run: echo ${{ secrets.SENTRY_PROPERTIES }} | base64 -d > ios/sentry.properties | |
- name: Build to testflight | |
run: bundle exec fastlane ci_beta | |
working-directory: ios | |
env: | |
SENTRY_LOAD_DOTENV: 0 | |
FASTLANE_PASSWORD: ${{ secrets.FASTLANE_APPLE_PASSWORD }} | |
APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} | |
APPLE_CONNECT_API_KEY_ID: ${{ secrets.APPLE_CONNECT_API_KEY_ID }} | |
APPLE_CONNECT_API_ISSUER_ID: ${{ secrets.APPLE_CONNECT_API_ISSUER_ID }} | |
build-android: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
- name: Set up JDK 1.11 | |
uses: actions/setup-java@v2 | |
with: | |
distribution: 'zulu' | |
java-version: '11' | |
java-package: jdk | |
- name: Set up Ruby 2.6 | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: 2.6.10 | |
- name: Get yarn cache | |
id: yarn-cache | |
run: echo "::set-output name=dir::$(yarn cache dir)" | |
- uses: actions/cache@v1 | |
with: | |
path: ${{ steps.yarn-cache.outputs.dir }} | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- name: Install | |
run: yarn | |
- name: Compile | |
run: yarn compile | |
- name: Setup kernel for react native, increase watchers | |
run: echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p | |
- uses: actions/cache@v1 | |
with: | |
path: android/vendor/bundle | |
key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }} | |
restore-keys: | | |
${{ runner.os }}-gem- | |
- name: Install fastlane | |
run: | | |
bundle config path vendor/bundle | |
bundle install --jobs 4 --retry 3 | |
working-directory: android | |
- uses: actions/cache@v1 | |
with: | |
path: ~/.gradle/caches | |
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} | |
restore-keys: | | |
${{ runner.os }}-gradle- | |
- name: Set Release keystore | |
run: echo ${{ secrets.ANDROID_RELEASE_KEYSTORE }} | base64 -d > android/app/release.keystore | |
- name: Set sentry.properties | |
run: echo ${{ secrets.SENTRY_PROPERTIES }} | base64 -d > android/sentry.properties | |
- name: Set Google Play service account key | |
run: echo ${{ secrets.ANDROID_GOOGLE_PLAY_SERVICE_ACCOUNT }} | base64 -d > android/key.json | |
- name: Build to Google Play internal test | |
run: bundle exec fastlane beta | |
working-directory: android | |
env: | |
SENTRY_LOAD_DOTENV: 0 | |
ANDROID_RELEASE_KEY_STORE_PASSWORD: ${{ secrets.ANDROID_RELEASE_KEY_STORE_PASSWORD }} | |
ANDROID_RELEASE_KEY_KEY_PASSWORD: ${{ secrets.ANDROID_RELEASE_KEY_KEY_PASSWORD }} |