File tree Expand file tree Collapse file tree 7 files changed +83
-13
lines changed Expand file tree Collapse file tree 7 files changed +83
-13
lines changed Original file line number Diff line number Diff line change @@ -34,10 +34,22 @@ inputs:
34
34
BUGSNAG_KEY_OFFICIAL :
35
35
description : ' Bugsnag API Key Official'
36
36
required : true
37
+ GOOGLE_SERVICES_IOS :
38
+ description : ' Google service file for official version'
39
+ required : true
40
+ GOOGLE_SERVICES_IOS_EXPERIMENTAL :
41
+ description : ' Google service file for experimental version'
42
+ required : true
37
43
38
44
runs :
39
45
using : " composite"
40
46
steps :
47
+ - name : Remove simulator and its cache
48
+ run : |
49
+ xcrun simctl delete all
50
+ sudo rm -rf ~/Library/Developer/CoreSimulator/Caches/*
51
+ shell : bash
52
+
41
53
- name : Set up Xcode
42
54
uses : maxim-lobanov/setup-xcode@v1
43
55
with :
@@ -89,6 +101,18 @@ runs:
89
101
fi
90
102
shell : bash
91
103
104
+ - name : Set Google Services
105
+ working-directory : ios
106
+ run : |
107
+ if [[ $APP_STORE_CONNECT_API_KEY_BASE64 ]]; then
108
+ if [[ ${{ inputs.type }} == "official" ]]; then
109
+ echo ${{ inputs.GOOGLE_SERVICES_IOS }} | base64 --decode > GoogleService-Info.plist
110
+ else
111
+ echo ${{ inputs.GOOGLE_SERVICES_IOS_EXPERIMENTAL }} | base64 --decode > GoogleService-Info.plist
112
+ fi
113
+ fi
114
+ shell : bash
115
+
92
116
- name : Build iOS app
93
117
working-directory : ios
94
118
run : |
@@ -147,4 +171,4 @@ runs:
147
171
if : ${{ inputs.type == 'official' }}
148
172
with :
149
173
name : ios-build-official-info-plist
150
- path : ios/RocketChatRN/Info.plist
174
+ path : ios/RocketChatRN/Info.plist
Original file line number Diff line number Diff line change
1
+ name : Fetch supported versions
2
+ description : Fetch supported versions from Cloud
3
+ inputs :
4
+ build_name :
5
+ description : Name of the build
6
+ required : true
7
+
8
+ runs :
9
+ using : " composite"
10
+ steps :
11
+ - name : Fetch supported versions from Cloud
12
+ shell : bash
13
+ run : sh ./scripts/fetch-supported-versions.sh
14
+
15
+ - name : Update supported versions
16
+ uses : actions/upload-artifact@v4
17
+ with :
18
+ name : supported-versions-${{ inputs.build_name }}
19
+ path : ./app-supportedversions.json
20
+
Original file line number Diff line number Diff line change 78
78
if : ${{ inputs.os == 'ios' }}
79
79
shell : bash
80
80
run : |
81
- VERSIONCODE=$(bundle exec fastlane ios get_testflight_version | grep 'VERSIONCODE=' | cut -d '=' -f2)
81
+ VERSIONCODE=$(bundle exec fastlane ios get_testflight_version official:${{ inputs.official }} | grep 'VERSIONCODE=' | cut -d '=' -f2)
82
82
echo "LATEST_VERSIONCODE=$VERSIONCODE" >> $GITHUB_OUTPUT
83
83
working-directory : ios
84
84
env :
94
94
if : ${{ inputs.os == 'android' }}
95
95
shell : bash
96
96
run : |
97
- VERSIONCODE=$(bundle exec fastlane android version_code | grep 'VERSIONCODE=' | cut -d '=' -f2)
97
+ VERSIONCODE=$(bundle exec fastlane android version_code official:${{ inputs.official }} | grep 'VERSIONCODE=' | cut -d '=' -f2)
98
98
echo "LATEST_VERSIONCODE=$VERSIONCODE" >> $GITHUB_OUTPUT
99
99
working-directory : android
100
100
@@ -111,4 +111,4 @@ runs:
111
111
echo "VERSIONCODE=$VERSIONCODE" >> $GITHUB_OUTPUT
112
112
113
113
echo "### 📦 Version Code Generated" >> $GITHUB_STEP_SUMMARY
114
- echo "\`Version Code: $VERSIONCODE\`" >> $GITHUB_STEP_SUMMARY
114
+ echo "\`Version Code: $VERSIONCODE\`" >> $GITHUB_STEP_SUMMARY
Original file line number Diff line number Diff line change 33
33
34
34
- name : Checkout and Setup Node
35
35
uses : ./.github/actions/setup-node
36
+
37
+ - name : Fetch supported versions from Cloud
38
+ uses : ./.github/actions/fetch-supported-versions
39
+ with :
40
+ build_name : ' android-experimental'
36
41
37
42
- name : Generate Version Code
38
43
id : version
61
66
needs : [build-android]
62
67
if : ${{ inputs.trigger == 'pr' }}
63
68
environment : upload_experimental_android
69
+ outputs :
70
+ VERSIONCODE : ${{ needs.build-android.outputs.VERSIONCODE }}
64
71
steps :
65
72
- run : echo "Waiting for manual approval..."
66
73
83
90
trigger : ${{ inputs.trigger }}
84
91
FASTLANE_GOOGLE_SERVICE_ACCOUNT : ${{ secrets.FASTLANE_GOOGLE_SERVICE_ACCOUNT }}
85
92
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
86
- VERSIONCODE : ${{ needs.build-android .outputs.VERSIONCODE }}
93
+ VERSIONCODE : ${{ needs.upload-hold .outputs.VERSIONCODE }}
87
94
88
95
upload-internal :
89
96
name : Internal Sharing
@@ -103,4 +110,4 @@ jobs:
103
110
type : experimental
104
111
FASTLANE_GOOGLE_SERVICE_ACCOUNT : ${{ secrets.FASTLANE_GOOGLE_SERVICE_ACCOUNT }}
105
112
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
106
- VERSIONCODE : ${{ needs.build-android.outputs.VERSIONCODE }}
113
+ VERSIONCODE : ${{ needs.build-android.outputs.VERSIONCODE }}
Original file line number Diff line number Diff line change 32
32
- name : Checkout and Setup Node
33
33
uses : ./.github/actions/setup-node
34
34
35
+ - name : Fetch supported versions from Cloud
36
+ uses : ./.github/actions/fetch-supported-versions
37
+ with :
38
+ build_name : ' ios-experimental'
39
+
35
40
- name : Generate Version Code
36
41
id : version
37
42
uses : ./.github/actions/generate-version-code
48
53
49
54
- name : Build iOS
50
55
uses : ./.github/actions/build-ios
51
- timeout-minutes : 40
56
+ timeout-minutes : 60
52
57
with :
53
58
type : experimental
54
59
MATCH_KEYCHAIN_NAME : ${{ secrets.MATCH_KEYCHAIN_NAME }}
59
64
FASTLANE_REPO_PAT : ${{ secrets.FASTLANE_REPO_PAT }}
60
65
BUGSNAG_KEY : ${{ secrets.BUGSNAG_KEY }}
61
66
APP_STORE_CONNECT_API_KEY_BASE64 : ${{ secrets.APP_STORE_CONNECT_API_KEY_BASE64 }}
67
+ GOOGLE_SERVICES_IOS : ${{ secrets.GOOGLE_SERVICES_IOS }}
68
+ GOOGLE_SERVICES_IOS_EXPERIMENTAL : ${{ secrets.GOOGLE_SERVICES_IOS_EXPERIMENTAL }}
62
69
VERSIONCODE : ${{ steps.version.outputs.VERSIONCODE }}
63
70
64
71
upload-ios :
84
91
APP_STORE_CONNECT_API_KEY_ID : ${{ secrets.APP_STORE_CONNECT_API_KEY_ID }}
85
92
APP_STORE_CONNECT_API_KEY_ISSUER_ID : ${{ secrets.APP_STORE_CONNECT_API_KEY_ISSUER_ID }}
86
93
FASTLANE_REPO_PAT : ${{ secrets.FASTLANE_REPO_PAT }}
87
- BUGSNAG_KEY : ${{ secrets.BUGSNAG_KEY }}
88
94
APP_STORE_CONNECT_API_KEY_BASE64 : ${{ secrets.APP_STORE_CONNECT_API_KEY_BASE64 }}
89
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
95
+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
Original file line number Diff line number Diff line change 34
34
- name : Checkout and Setup Node
35
35
uses : ./.github/actions/setup-node
36
36
37
+ - name : Fetch supported versions from Cloud
38
+ uses : ./.github/actions/fetch-supported-versions
39
+ with :
40
+ build_name : ' android-official'
41
+
37
42
- name : Generate Version Code
38
43
id : version
39
44
uses : ./.github/actions/generate-version-code
61
66
if : ${{ inputs.trigger == 'pr' }}
62
67
environment : upload_official_android
63
68
needs : [build-android]
69
+ outputs :
70
+ VERSIONCODE : ${{ needs.build-android.outputs.VERSIONCODE }}
64
71
steps :
65
72
- run : echo "Waiting for manual approval..."
66
73
80
87
trigger : ${{ inputs.trigger }}
81
88
FASTLANE_GOOGLE_SERVICE_ACCOUNT : ${{ secrets.FASTLANE_GOOGLE_SERVICE_ACCOUNT }}
82
89
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
83
- VERSIONCODE : ${{ needs.build-android .outputs.VERSIONCODE }}
90
+ VERSIONCODE : ${{ needs.upload-hold .outputs.VERSIONCODE }}
84
91
85
92
upload-internal :
86
93
name : Internal Sharing
Original file line number Diff line number Diff line change 32
32
- name : Checkout and Setup Node
33
33
uses : ./.github/actions/setup-node
34
34
35
+ - name : Fetch supported versions from Cloud
36
+ uses : ./.github/actions/fetch-supported-versions
37
+ with :
38
+ build_name : ' ios-official'
39
+
35
40
- name : Generate Version Code
36
41
id : version
37
42
uses : ./.github/actions/generate-version-code
48
53
49
54
- name : Build iOS
50
55
uses : ./.github/actions/build-ios
51
- timeout-minutes : 40
56
+ timeout-minutes : 60
52
57
with :
53
58
type : official
54
59
MATCH_KEYCHAIN_NAME : ${{ secrets.MATCH_KEYCHAIN_NAME }}
60
65
BUGSNAG_KEY : ${{ secrets.BUGSNAG_KEY_OFFICIAL }}
61
66
BUGSNAG_KEY_OFFICIAL : ${{ secrets.BUGSNAG_KEY_OFFICIAL }}
62
67
APP_STORE_CONNECT_API_KEY_BASE64 : ${{ secrets.APP_STORE_CONNECT_API_KEY_BASE64 }}
68
+ GOOGLE_SERVICES_IOS : ${{ secrets.GOOGLE_SERVICES_IOS }}
69
+ GOOGLE_SERVICES_IOS_EXPERIMENTAL : ${{ secrets.GOOGLE_SERVICES_IOS_EXPERIMENTAL }}
63
70
VERSIONCODE : ${{ steps.version.outputs.VERSIONCODE }}
64
71
65
72
upload-hold :
94
101
APP_STORE_CONNECT_API_KEY_ID : ${{ secrets.APP_STORE_CONNECT_API_KEY_ID }}
95
102
APP_STORE_CONNECT_API_KEY_ISSUER_ID : ${{ secrets.APP_STORE_CONNECT_API_KEY_ISSUER_ID }}
96
103
FASTLANE_REPO_PAT : ${{ secrets.FASTLANE_REPO_PAT }}
97
- BUGSNAG_KEY : ${{ secrets.BUGSNAG_KEY }}
98
104
APP_STORE_CONNECT_API_KEY_BASE64 : ${{ secrets.APP_STORE_CONNECT_API_KEY_BASE64 }}
99
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
105
+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
You can’t perform that action at this time.
0 commit comments