-
Notifications
You must be signed in to change notification settings - Fork 20
126 lines (107 loc) · 4.72 KB
/
fastlane-build.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
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-latest
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 }}
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 }}