Skip to content

Fastlane build (v1.31 №1359) of master #80

Fastlane build (v1.31 №1359) of master

Fastlane build (v1.31 №1359) of master #80

name: Fastlane build
run-name: Fastlane build (v${{ github.event.inputs.github-release-version }} №${{ github.event.inputs.build-number }}) of ${{ github.ref_name }}
on:
workflow_dispatch:
inputs:
build-number:
description: Build number
required: true
github-release-version:
description: Github release version
default: ''
required: false
jobs:
fastlane-build:
name: Create new iOS & Android builds and upload them via Fastlane
runs-on: macos-14
environment: fastlane
steps:
- name: Clone repository
uses: actions/checkout@v2
- name: Repository setup
uses: ./.github/workflows/repository-setup
- name: Secrets setup
uses: ./.github/workflows/secrets-setup
with:
READ_ONLY_SIGNER_PUBLIC_KEY: ${{ vars.READ_ONLY_SIGNER_PUBLIC_KEY }}
READ_ONLY_SIGNER_PUBLIC_KEY_HASH: ${{ vars.READ_ONLY_SIGNER_PUBLIC_KEY_HASH }}
JITSU_ANALYTICS_KEY: ${{ vars.JITSU_ANALYTICS_KEY }}
JITSU_TRACKING_HOST: ${{ vars.JITSU_TRACKING_HOST }}
TEMPLE_WALLET_ROUTE3_AUTH_TOKEN: ${{ vars.TEMPLE_WALLET_ROUTE3_AUTH_TOKEN }}
TEMPLE_WALLET_EXOLIX_API_KEY: ${{ secrets.TEMPLE_WALLET_EXOLIX_API_KEY }}
TEMPLE_WALLET_EVERSTAKE_API_KEY: ${{ secrets.TEMPLE_WALLET_EVERSTAKE_API_KEY }}
TEMPLE_WALLET_EVERSTAKE_LINK_ID: ${{ secrets.TEMPLE_WALLET_EVERSTAKE_LINK_ID }}
TEMPLE_WALLET_UTORG_SID: ${{ secrets.TEMPLE_WALLET_UTORG_SID }}
TEMPLE_WALLET_API_URL: ${{ vars.TEMPLE_WALLET_API_URL }}
TEMPLE_WALLET_STAKING_API_URL: ${{ vars.TEMPLE_WALLET_STAKING_API_URL }}
TEZOS_METADATA_API_URL: ${{ vars.TEZOS_METADATA_API_URL }}
TEZOS_DEXES_API_URL: ${{ vars.TEZOS_DEXES_API_URL }}
FIREBASE_GOOGLE_SERVICE_ANDROID: ${{ secrets.FIREBASE_GOOGLE_SERVICE_ANDROID }}
FIREBASE_GOOGLE_SERVICE_IOS: ${{ secrets.FIREBASE_GOOGLE_SERVICE_IOS }}
DYNAMIC_LINKS_DOMAIN_URI_PREFIX: ${{ secrets.DYNAMIC_LINKS_DOMAIN_URI_PREFIX }}
HYPELAB_AD_FRAME_URL: ${{ vars.HYPELAB_AD_FRAME_URL }}
HYPELAB_SMALL_PLACEMENT_SLUG: ${{ vars.HYPELAB_SMALL_PLACEMENT_SLUG }}
HYPELAB_NATIVE_PLACEMENT_SLUG: ${{ vars.HYPELAB_NATIVE_PLACEMENT_SLUG }}
PERSONA_PLACEMENT_SLUG: ${{ vars.PERSONA_PLACEMENT_SLUG }}
APPSTORE_AUTHKEY: ${{ secrets.APPSTORE_AUTHKEY }}
GOOGLE_PLAY_AUTHKEY: ${{ secrets.GOOGLE_PLAY_AUTHKEY }}
KEYSTORE_KEY: ${{ secrets.KEYSTORE_KEY }}
SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }}
- name: Prepare changelog
id: changelog
run: echo "##[set-output name=log;]$(git log --pretty=format:'%s' origin/master..origin/$(echo ${GITHUB_REF#refs/heads/}))"
# Android
- name: Setup Java SDK
uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: '11'
- name: Setup ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7.2
bundler-cache: true
- name: Install Android Gemfile dependencies
run: cd android && bundle install
- name: Build Android & Distribute to Google Play Console
run: |
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
yarn android:test-flight
env:
BUILD_NUMBER: ${{ github.event.inputs.build-number }}
SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }}
# Github release
- name: Create Github release
if: ${{ github.event.inputs.github-release-version != '' }}
uses: marvinpinto/action-automatic-releases@latest
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
automatic_release_tag: ${{ github.event.inputs.github-release-version }}(${{ github.event.inputs.build-number }})
prerelease: false
files: |
android/app/build/outputs/apk/release/app-release.apk
# iOS
- name: Install SSH key to get acces to repository with Certificates and Provisioning profiles
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_KEY }}
known_hosts: ${{ secrets.KNOWN_HOSTS }}
- name: Setup Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable
- name: Install iOS Gemfile dependencies
run: cd ios && bundle install
- name: Install Pods
run: |
export NO_FLIPPER=1
yarn ios:pods
- name: Build iOS & Distribute to Testflight
run: |
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
yarn ios:test-flight
env:
BUILD_NUMBER: ${{ github.event.inputs.build-number }}
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
CHANGELOG: ${{ steps.changelog.outputs.log }}