Skip to content

Commit 75d72b7

Browse files
authored
Merge pull request #550 from nimblehq/release/4.10.0
Release - 4.10.0
2 parents 17a097b + 11790f1 commit 75d72b7

File tree

56 files changed

+937
-206
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+937
-206
lines changed

.env.example

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
API_KEY_ID=""
2+
ISSUER_ID=""
3+
APPSTORE_CONNECT_API_KEY=""

.github/project_workflows/deploy_app_store.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ jobs:
2727
fetch-depth: 0
2828

2929
- name: Run SwiftLint
30-
uses: norio-nomura/action-swiftlint@3.1.0
30+
uses: docker://norionomura/swiftlint:0.53.0_swift-5.7
3131
with:
32-
args: --strict
32+
args: swiftlint --strict
3333

3434
build:
3535
name: Build

.github/project_workflows/deploy_production_firebase.yml

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: Deploy Production Build To Firebase
33
# SECRETS needed:
44
### SSH_PRIVATE_KEY for Match Repo
55
### MATCH_PASS
6-
### FIREBASE_TOKEN
6+
### FIREBASE_GOOGLE_APPLICATION_CREDENTIALS_BASE64
77

88
on:
99
push:
@@ -25,9 +25,9 @@ jobs:
2525
fetch-depth: 0
2626

2727
- name: Run SwiftLint
28-
uses: norio-nomura/action-swiftlint@3.1.0
28+
uses: docker://norionomura/swiftlint:0.53.0_swift-5.7
2929
with:
30-
args: --strict
30+
args: swiftlint --strict
3131

3232
build:
3333
name: Build
@@ -50,6 +50,13 @@ jobs:
5050
touch .env
5151
echo $ENV | base64 --decode > .env
5252
53+
- name: Read Google Service Account
54+
id: firebase_service_account
55+
uses: timheuer/base64-to-file@v1.2
56+
with:
57+
fileName: 'firebase_service_account.json'
58+
encodedString: ${{ secrets.FIREBASE_GOOGLE_APPLICATION_CREDENTIALS_BASE64 }}
59+
5360
- name: Bundle install
5461
run: bundle install
5562

@@ -80,7 +87,7 @@ jobs:
8087
- name: Build Production App and Distribute to Firebase
8188
run: bundle exec fastlane buildProductionAndUploadToFirebase
8289
env:
83-
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
90+
GOOGLE_APPLICATION_CREDENTIALS: ${{ steps.firebase_service_account.outputs.filePath }}
8491

8592
- name: Upload Artifacts
8693
uses: actions/upload-artifact@v3

.github/project_workflows/deploy_staging_firebase.yml

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: Deploy Staging Build To Firebase
33
# SECRETS needed:
44
### SSH_PRIVATE_KEY for Match Repo
55
### MATCH_PASS
6-
### FIREBASE_TOKEN
6+
### FIREBASE_GOOGLE_APPLICATION_CREDENTIALS_BASE64
77

88
on:
99
push:
@@ -25,9 +25,9 @@ jobs:
2525
fetch-depth: 0
2626

2727
- name: Run SwiftLint
28-
uses: norio-nomura/action-swiftlint@3.1.0
28+
uses: docker://norionomura/swiftlint:0.53.0_swift-5.7
2929
with:
30-
args: --strict
30+
args: swiftlint --strict
3131

3232
build:
3333
name: Build
@@ -55,6 +55,13 @@ jobs:
5555
touch .env
5656
echo $ENV | base64 --decode > .env
5757
58+
- name: Read Google Service Account
59+
id: firebase_service_account
60+
uses: timheuer/base64-to-file@v1.2
61+
with:
62+
fileName: 'firebase_service_account.json'
63+
encodedString: ${{ secrets.FIREBASE_GOOGLE_APPLICATION_CREDENTIALS_BASE64 }}
64+
5865
- name: Bundle install
5966
# if: steps.bundleCache.outputs.cache-hit != 'true'
6067
run: bundle install
@@ -86,7 +93,7 @@ jobs:
8693
- name: Build App and Distribute to Firebase
8794
run: bundle exec fastlane buildStagingAndUploadToFirebase
8895
env:
89-
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
96+
GOOGLE_APPLICATION_CREDENTIALS: ${{ steps.firebase_service_account.outputs.filePath }}
9097

9198
- name: Upload Artifacts
9299
uses: actions/upload-artifact@v3
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: Automatic pull request review
2+
3+
on:
4+
pull_request:
5+
types: [opened, reopened, edited, synchronize]
6+
7+
concurrency:
8+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
9+
cancel-in-progress: true
10+
11+
jobs:
12+
review_pull_request:
13+
name: Pull request review by Danger
14+
runs-on: [self-hosted, macOS]
15+
steps:
16+
- uses: actions/checkout@v3
17+
with:
18+
fetch-depth: 0
19+
20+
- uses: actions/cache@v3
21+
id: bunlderCache
22+
with:
23+
path: vendor/bundle
24+
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
25+
restore-keys: |
26+
${{ runner.os }}-gems-
27+
28+
- name: Setup ENV file
29+
env:
30+
ENV: ${{ secrets.ENV }}
31+
run: |
32+
touch .env
33+
echo $ENV | base64 --decode > .env
34+
35+
- name: Bundle install
36+
run: bundle install --path vendor/bundle
37+
38+
- name: Run Arkana
39+
run: bundle exec arkana
40+
41+
- name: Cache Pods
42+
uses: actions/cache@v3
43+
id: cocoapodCache
44+
with:
45+
path: Pods
46+
key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }}
47+
restore-keys: |
48+
${{ runner.os }}-pods-
49+
50+
- name: Install Pods Dependencies
51+
run: bundle exec pod install
52+
53+
- name: Build and Test
54+
run: bundle exec fastlane buildAndTest
55+
env:
56+
CI: true
57+
58+
- name: Clean up previous code coverage report
59+
run: bundle exec fastlane cleanUpOutput
60+
61+
- name: Review pull request by Danger
62+
env:
63+
DANGER_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
64+
run: bundle exec danger
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
name: Deploy Build To App Store
2+
3+
# SECRETS needed:
4+
### SSH_PRIVATE_KEY for Match Repo
5+
### MATCH_PASS
6+
### APPSTORE_CONNECT_API_KEY
7+
### API_KEY_ID
8+
### ISSUER_ID
9+
10+
on:
11+
push:
12+
branches: [ master, main ]
13+
workflow_dispatch:
14+
15+
concurrency:
16+
group: ${{ github.workflow }}-${{ github.ref }}
17+
cancel-in-progress: true
18+
19+
jobs:
20+
lint:
21+
name: Lint
22+
runs-on: ubuntu-latest
23+
steps:
24+
- name: Checkout code
25+
uses: actions/checkout@v3
26+
with:
27+
fetch-depth: 0
28+
29+
- name: Run SwiftLint
30+
uses: docker://norionomura/swiftlint:0.53.0_swift-5.7
31+
with:
32+
args: swiftlint --strict
33+
34+
build:
35+
name: Build
36+
runs-on: [self-hosted, macOS]
37+
steps:
38+
- name: Checkout Repo
39+
uses: actions/checkout@v3
40+
# Set fetch-depth (default: 1) to get whole tree
41+
with:
42+
fetch-depth: 0
43+
44+
- name: Install SSH key
45+
uses: webfactory/ssh-agent@v0.7.0
46+
with:
47+
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
48+
49+
- name: Setup ENV file
50+
env:
51+
ENV: ${{ secrets.ENV }}
52+
run: |
53+
touch .env
54+
echo $ENV | base64 --decode > .env
55+
56+
- name: Bundle install
57+
run: bundle install
58+
59+
- name: Run Arkana
60+
run: bundle exec arkana
61+
62+
- name: Cache Pods
63+
uses: actions/cache@v3
64+
id: cocoapodCache
65+
with:
66+
path: Pods
67+
key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }}
68+
restore-keys: |
69+
${{ runner.os }}-pods-
70+
71+
- name: Install Pods Dependencies
72+
run: bundle exec pod install
73+
shell: bash
74+
75+
- name: Build and Test
76+
run: bundle exec fastlane buildAndTest
77+
78+
- name: Match AppStore
79+
run: bundle exec fastlane syncAppStoreCodeSigning
80+
env:
81+
MATCH_PASSWORD: ${{ secrets.MATCH_PASS }}
82+
83+
- name: Build App and Distribute to AppStore
84+
run: bundle exec fastlane buildAndUploadToAppStore
85+
env:
86+
APPSTORE_CONNECT_API_KEY: ${{ secrets.APPSTORE_CONNECT_API_KEY }}
87+
API_KEY_ID: ${{ secrets.API_KEY_ID }}
88+
ISSUER_ID: ${{ secrets.ISSUER_ID }}
89+
BUMP_APP_STORE_BUILD_NUMBER: "true"
90+
91+
- name: Upload Artifacts
92+
uses: actions/upload-artifact@v3
93+
with:
94+
name: ${{ format('v{0}({1})-{2}', env.VERSION_NUMBER, env.BUILD_NUMBER, env.TAG_TYPE) }}
95+
path: |
96+
${{ env.IPA_OUTPUT_PATH }}
97+
${{ env.DSYM_OUTPUT_PATH }}
98+
env:
99+
TAG_TYPE: App_Store
100+
101+
- name: Remove keychain
102+
if: ${{ always() }}
103+
run: bundle exec fastlane removeKeychain
104+
continue-on-error: true
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
name: Deploy Production Build To Firebase
2+
3+
# SECRETS needed:
4+
### SSH_PRIVATE_KEY for Match Repo
5+
### MATCH_PASS
6+
### FIREBASE_GOOGLE_APPLICATION_CREDENTIALS_BASE64
7+
8+
on:
9+
push:
10+
branches: [ release/** ]
11+
workflow_dispatch:
12+
13+
concurrency:
14+
group: ${{ github.workflow }}-${{ github.ref }}
15+
cancel-in-progress: true
16+
17+
jobs:
18+
Lint:
19+
name: lint
20+
runs-on: ubuntu-latest
21+
steps:
22+
- name: Checkout code
23+
uses: actions/checkout@v3
24+
with:
25+
fetch-depth: 0
26+
27+
- name: Run SwiftLint
28+
uses: docker://norionomura/swiftlint:0.53.0_swift-5.7
29+
with:
30+
args: swiftlint --strict
31+
32+
build:
33+
name: Build
34+
runs-on: [self-hosted, macOS]
35+
steps:
36+
- uses: actions/checkout@v3
37+
# Set fetch-depth (default: 1) to get whole tree
38+
with:
39+
fetch-depth: 0
40+
41+
- name: Install SSH key
42+
uses: webfactory/ssh-agent@v0.7.0
43+
with:
44+
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
45+
46+
- name: Setup ENV file
47+
env:
48+
ENV: ${{ secrets.ENV }}
49+
run: |
50+
touch .env
51+
echo $ENV | base64 --decode > .env
52+
53+
- name: Read Google Service Account
54+
id: firebase_service_account
55+
uses: timheuer/base64-to-file@v1.2
56+
with:
57+
fileName: 'firebase_service_account.json'
58+
encodedString: ${{ secrets.FIREBASE_GOOGLE_APPLICATION_CREDENTIALS_BASE64 }}
59+
60+
- name: Bundle install
61+
run: bundle install
62+
63+
- name: Run Arkana
64+
run: bundle exec arkana
65+
66+
- name: Cache Pods
67+
uses: actions/cache@v3
68+
id: cocoapodCache
69+
with:
70+
path: Pods
71+
key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }}
72+
restore-keys: |
73+
${{ runner.os }}-pods-
74+
75+
- name: Install Pods Dependencies
76+
run: bundle exec pod install
77+
shell: bash
78+
79+
- name: Build and Test
80+
run: bundle exec fastlane buildAndTest
81+
82+
- name: Match Ad-hoc
83+
run: bundle exec fastlane syncAdHocProductionCodeSigning
84+
env:
85+
MATCH_PASSWORD: ${{ secrets.MATCH_PASS }}
86+
87+
- name: Build Production App and Distribute to Firebase
88+
run: bundle exec fastlane buildProductionAndUploadToFirebase
89+
env:
90+
GOOGLE_APPLICATION_CREDENTIALS: ${{ steps.firebase_service_account.outputs.filePath }}
91+
92+
- name: Upload Artifacts
93+
uses: actions/upload-artifact@v3
94+
with:
95+
name: ${{ format('v{0}({1})-{2}', env.VERSION_NUMBER, env.BUILD_NUMBER, env.TAG_TYPE) }}
96+
path: |
97+
${{ env.IPA_OUTPUT_PATH }}
98+
${{ env.DSYM_OUTPUT_PATH }}
99+
env:
100+
TAG_TYPE: Production_Firebase
101+
102+
- name: Remove keychain
103+
if: ${{ always() }}
104+
run: bundle exec fastlane removeKeychain
105+
continue-on-error: true

0 commit comments

Comments
 (0)