forked from tendermint/flutter
-
Notifications
You must be signed in to change notification settings - Fork 0
108 lines (92 loc) · 3.49 KB
/
deploy-firebase-ios.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
name: Deploy Firebase - iOS
on:
push:
branches: [ main ]
workflow_dispatch:
concurrency:
group: '${{ github.head_ref || github.ref }}-ios-deployment'
cancel-in-progress: true
env:
JAVA_VERSION: '12'
RUBY_VERSION: '2.7'
ALPHA_IOS_FIREBASE_TESTERS_GROUP: "ios-testers"
LC_ALL: en_US.UTF-8
MATCH_GIT_URL: ${{ secrets.MATCH_GIT_URL }}
MATCH_APP_ID: ${{ secrets.MATCH_APP_ID }}
MATCH_APPLE_USERNAME: ${{ secrets.MATCH_APPLE_USERNAME }}
MATCH_TEAM_ID: ${{ secrets.MATCH_TEAM_ID }}
MATCH_ITC_TEAM_ID: ${{ secrets.MATCH_ITC_TEAM_ID }}
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
ALPHA_IOS_FIREBASE_APP_ID: ${{ secrets.ALPHA_IOS_FIREBASE_APP_ID }}
FASTLANE_IOS_CODE_SIGNING_IDENTITY: ${{ secrets.FASTLANE_IOS_CODE_SIGNING_IDENTITY }}
MATCH_ADHOC_PROVISIONING_PROFILE: ${{ secrets.MATCH_ADHOC_PROVISIONING_PROFILE }}
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
FIREBASE_PLIST_FILE: ${{ secrets.FIREBASE_PLIST_FILE }}
MATCH_GIT_BASIC_AUTHORIZATION: ${{ secrets.MATCH_GIT_BASIC_AUTHORIZATION }}
LANG: en_US.UTF-8
jobs:
preconditions:
timeout-minutes: 5
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 2
- name: check for changes in folders
id: check-template-changes
run: >
echo "::set-output name=template-changes::$(git diff --quiet HEAD HEAD~1 --
starport_template && echo "false" || echo "true")"
outputs:
template-changes: ${{ steps.check-template-changes.outputs.template-changes }}
deploy-ios:
needs: preconditions
if: needs.preconditions.outputs.template-changes == 'true'
timeout-minutes: 30
runs-on: macos-11
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 10
- uses: kuhnroyal/flutter-fvm-config-action@v1
with:
path: 'starport_template/.fvm/fvm_config.json'
- uses: subosito/flutter-action@v1
with:
flutter-version: ${{ env.FLUTTER_VERSION }}
channel: ${{ env.FLUTTER_CHANNEL }}
- name: pub get
working-directory: ./starport_template/ios
run: flutter pub get
- name: set up ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ env.RUBY_VERSION }}
- name: prepare fastlane
working-directory: ./starport_template/ios
run: |
gem install bundler
bundle install
- name: prepare ios build with cosmos testnet
working-directory: ./starport_template
run: |
flutter build ios --build-number $GITHUB_RUN_NUMBER --no-codesign --dart-define=LCD_URL=https://api.testnet.cosmos.network --dart-define=LCD_PORT=443 --dart-define=GRPC_URL=https://grpc.testnet.cosmos.network --dart-define=GRPC_PORT=443
- name: deploy firebase iOS
working-directory: ./starport_template/ios
run: |
gem install bundler
bundle install
bundle exec fastlane deploy_firebase
- name: Report Status
if: failure()
uses: rtCamp/action-slack-notify@v2
env:
SLACK_CHANNEL: '${{ secrets.SLACK_NOTIFICATIONS_CHANNEL }}'
SLACK_COLOR: '${{ job.status }}'
SLACK_ICON: 'https://github.com/tendermint.png?size=48'
SLACK_TITLE: Starport Template - DEPLOY FAILED
SLACK_LINK_NAMES: true
SLACK_USERNAME: Github iOS Deployment
MSG_MINIMAL: 'actions url, ref'
SLACK_FOOTER: Mobile Slackbot
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}