Files
trezor-suite/.github/workflows/suite-native_develop_ci.yml

114 lines
3.4 KiB
YAML

name: suite-native develop ci
on:
push:
branches:
- develop
paths:
- "packages/suite-*/**"
- "suite-native/**"
- "packages/icons/**"
workflow_dispatch:
jobs:
android_develop:
defaults:
run:
working-directory: suite-native/app
runs-on: ubuntu-latest
environment: develop
timeout-minutes: 45
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup node
uses: actions/setup-node@v3
with:
node-version-file: ".nvmrc"
- name: Setup react-native kernel and increase watchers
run: echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
- name: Decode files
env:
ENCODED_STRING_KEYSTORE: ${{ secrets.DEVELOP_KEYSTORE_FILE }}
ENCODED_STRING_JSON_FILE: ${{secrets.GOOGLE_PLAY_JSON_KEY}}
run: |
echo $ENCODED_STRING_KEYSTORE | base64 -d > android/app/release.keystore
echo $ENCODED_STRING_JSON_FILE > android/firebase_key.json
- name: Install dependecies
run: |
yarn --cwd ../../ install
yarn --cwd ../../ build:libs
- name: Ruby Setup for Fastlane
uses: ruby/setup-ruby@v1
with:
ruby-version: "3.0"
bundler-cache: true
- name: Install bundler
run: gem install bundler
- name: Fastlane build and deploy
env:
SIGNING_KEY_STORE_PASSWORD: ${{ secrets.SIGNING_KEY_STORE_PASSWORD }}
SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS }}
SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }}
GOOGLE_PLAY_JSON_KEY_FILE: ./android/firebase_key.json
FIREBASE_APP_ID: ${{secrets.ANDROID_FIREBASE_APP_ID}}
# builds and publishes the app
run: |
bundle install
bundle exec fastlane android develop
ios_develop:
defaults:
run:
working-directory: suite-native/app
runs-on: macos-latest
environment: develop
timeout-minutes: 60
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup node
uses: actions/setup-node@v3
with:
node-version-file: ".nvmrc"
- name: Decode files
env:
APPSTORE_CERTIFICATE_CONTENT: ${{ secrets.APPSTORE_CERTIFICATE_CONTENT }}
run: |
echo $APPSTORE_CERTIFICATE_CONTENT | base64 -d > TrezorDistributionCertificate.p12
- name: Install dependecies
run: |
yarn --cwd ../../ install
yarn --cwd ../../ build:libs
yarn pods
- name: Ruby Setup for Fastlane
uses: ruby/setup-ruby@v1
with:
ruby-version: "3.0"
bundler-cache: true
- name: Install bundler
run: gem install bundler
- name: Fastlane build and deploy
env:
APPSTORE_KEY_ID: ${{ secrets.APPSTORE_KEY_ID }}
APPSTORE_KEY_ISSUER_ID: ${{ secrets.APPSTORE_KEY_ISSUER_ID }}
APPSTORE_KEY_FILE_CONTENT: ${{ secrets.APPSTORE_KEY_FILE_CONTENT }}
APPSTORE_CERTIFICATE_PASSWORD: ${{ secrets.APPSTORE_CERTIFICATE_PASSWORD }}
TMP_KEYCHAIN_NAME: ${{ secrets.TMP_KEYCHAIN_NAME }}
TMP_KEYCHAIN_PASSWORD: ${{ secrets.TMP_KEYCHAIN_PASSWORD }}
# builds and publishes the app
run: |
bundle install
bundle exec fastlane ios develop