forked from bucketeer-io/ios-client-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
145 lines (120 loc) · 3.36 KB
/
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
name: Build & Integration tests
on:
workflow_dispatch:
push:
paths-ignore:
- '*.md'
- '.github/**'
branches:
- main
jobs:
install-mint:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Install mint
run: |
brew install mint
- name: restore Mint packages
id: cache-restore
uses: actions/cache/restore@v3
with:
path: .mint
key: ${{ runner.os }}-mint-${{ hashFiles('**/Mintfile') }}
- name: Bootstrap mint
env:
CI: true
run: make bootstrap-mint
- name: Cache Mint packages
uses: actions/cache@v3
with:
path: .mint
key: ${{ steps.cache-restore.outputs.cache-primary-key }}
restore-keys: |
${{ runner.os }}-mint-
generate-xcodeProject:
needs: install-mint
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Cache Mint packages
uses: actions/cache@v3
with:
path: .mint
key: ${{ runner.os }}-mint-${{ hashFiles('**/Mintfile') }}
restore-keys: |
${{ runner.os }}-mint-
- name: Generate XcodeProject
env:
CI: true
run: make generate-project-file
- name: Upload Xcode project file
uses: actions/upload-artifact@v3
with:
name: output-xcodeproj-file
path: ./Bucketeer.xcodeproj
- name: Upload dummy environment file
uses: actions/upload-artifact@v3
with:
name: output-environment-file
path: ./environment.xcconfig
build:
needs: generate-xcodeProject
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Download xcode project file
uses: actions/download-artifact@v3
with:
name: output-xcodeproj-file
path: ./Bucketeer.xcodeproj
- name: Build
env:
CI: true
run: make build
build-example:
needs: generate-xcodeProject
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Download xcode project file
uses: actions/download-artifact@v3
with:
name: output-xcodeproj-file
path: ./Bucketeer.xcodeproj
- name: Download environment file
uses: actions/download-artifact@v3
with:
name: output-environment-file
path: ./environment.xcconfig
- name: Build example
env:
CI: true
run: make build-example
test:
name: Unit tests
needs: generate-xcodeProject
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Download xcode project file
uses: actions/download-artifact@v3
with:
name: output-xcodeproj-file
path: ./Bucketeer.xcodeproj
- name: Download environment file
uses: actions/download-artifact@v3
with:
name: output-environment-file
path: ./environment.xcconfig
- name: Build for testing
run: make build-for-testing
- name: Unit Test
run: make test-without-building
e2e:
name: E2E tests
needs: generate-xcodeProject
uses: ./.github/workflows/e2e.yml
secrets:
E2E_API_ENDPOINT: ${{ secrets.E2E_API_ENDPOINT }}
E2E_API_KEY: ${{ secrets.E2E_API_KEY }}