-
Notifications
You must be signed in to change notification settings - Fork 299
206 lines (187 loc) · 7.4 KB
/
build.yaml
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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
on:
push:
branches:
- refs/tags/*
name: Build framework
jobs:
static:
name: Build static SDK
runs-on: macOS-latest
steps:
- uses: actions/checkout@v2
- name: Build
run: |
mkdir -p frameworks/static
xcodebuild -target AdjustStatic -configuration Release clean build
mkdir AdjustSdkStatic
mv frameworks/static/* AdjustSdkStatic
zip -ry AdjustSdkStatic.framework.zip AdjustSdkStatic/*
- name: Upload files
uses: actions/upload-artifact@v2
with:
name: static_framework
path: AdjustSdkStatic.framework.zip
tvOS:
name: Build Static tvOS SDK
runs-on: macOS-latest
steps:
- uses: actions/checkout@v2
- name: Universal tvOS SDK
run: |
mkdir -p frameworks/static_tvos
xcodebuild -configuration Release -target AdjustSdkTv -arch x86_64 -sdk appletvsimulator clean build
xcodebuild -configuration Release -target AdjustSdkTv -arch arm64 -sdk appletvos build
cp -Rv build/Release-appletvos/AdjustSdkTv.framework frameworks/static_tvos
lipo -create -output frameworks/static_tvos/AdjustSdkTv.framework/AdjustSdkTv build/Release-appletvos/AdjustSdkTv.framework/AdjustSdkTv build/Release-appletvsimulator/AdjustSdkTv.framework/AdjustSdkTv
mkdir AdjustSdkTvStatic
mv frameworks/static_tvos/* AdjustSdkTvStatic
zip -ry AdjustSdkTvStatic.framework.zip AdjustSdkTvStatic/*
- name: Upload files
uses: actions/upload-artifact@v2
with:
name: universal_tvos
path: AdjustSdkTvStatic.framework.zip
dynamic_ios_tvos:
name: Build dynamic iOS and tvOS targets with Carthage
runs-on: macOS-latest
steps:
- uses: actions/checkout@v2
- name: Install Carthage
run: |
brew install carthage
- name: Build dynamic framework
run: |
mv Adjust.xcodeproj/xcshareddata/xcschemes/AdjustSdkIm.xcscheme \
Adjust.xcodeproj/xcshareddata/xcschemes/AdjustSdkWebBridge.xcscheme .
carthage build --no-skip-current
mkdir AdjustSdkDynamic
mv Carthage/Build/iOS/* AdjustSdkDynamic
zip -ry AdjustSdkDynamic.framework.zip AdjustSdkDynamic/*
mkdir AdjustSdkTvDynamic
mv Carthage/Build/tvOS/* AdjustSdkTvDynamic
zip -ry AdjustSdkTvDynamic.framework.zip AdjustSdkTvDynamic/*
- name: Upload iOS
uses: actions/upload-artifact@v2
with:
name: dynamic_ios
path: AdjustSdkDynamic.framework.zip
- name: Upload tvOS
uses: actions/upload-artifact@v2
with:
name: dynamic_tvos
path: AdjustSdkTvDynamic.framework.zip
dynamic_imessage:
name: Build dynamic iMessage target with Carthage
runs-on: macOS-latest
steps:
- uses: actions/checkout@v2
- name: Install Carthage
run: |
brew install carthage
- name: Build dynamic framework
run: |
mv Adjust.xcodeproj/xcshareddata/xcschemes/*.xcscheme .
mv AdjustSdkIm.xcscheme Adjust.xcodeproj/xcshareddata/xcschemes
carthage build --no-skip-current
mkdir AdjustSdkImDynamic
mv Carthage/Build/iOS/* AdjustSdkImDynamic
zip -ry AdjustSdkIm.framework.zip AdjustSdkImDynamic/*
- name: Upload framework
uses: actions/upload-artifact@v2
with:
name: dynamic_imessage
path: AdjustSdkIm.framework.zip
dynamic_webbridge:
name: Build dynamic WebBridge target with Carthage
runs-on: macOS-latest
steps:
- uses: actions/checkout@v2
- name: Install Carthage
run: |
brew install carthage
- name: Build dynamic framework
run: |
mv Adjust.xcodeproj/xcshareddata/xcschemes/*.xcscheme .
mv AdjustSdkWebBridge.xcscheme Adjust.xcodeproj/xcshareddata/xcschemes
carthage build --no-skip-current
mkdir AdjustSdkWebBridgeDynamic
mv Carthage/Build/iOS/* AdjustSdkWebBridgeDynamic
zip -ry AdjustSdkWebBridge.framework.zip AdjustSdkWebBridgeDynamic/*
- name: Upload framework
uses: actions/upload-artifact@v2
with:
name: dynamic_webbridge
path: AdjustSdkWebBridge.framework.zip
release:
name: Create new release and upload assets
runs-on: ubuntu-latest
needs: [static, tvOS, dynamic_ios_tvos, dynamic_imessage, dynamic_webbridge]
steps:
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Version ${{ github.ref }}
draft: true
prerelease: false
- name: Download all frameworks
uses: actions/download-artifact@v2
with:
path: frameworks
- name: Upload static framework
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: frameworks/static_framework/AdjustSdkStatic.framework.zip
asset_name: AdjustSdkStatic.framework.zip
asset_content_type: application/zip
- name: Upload tvOS framework
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: frameworks/universal_tvos/AdjustSdkTvStatic.framework.zip
asset_name: AdjustSdkTvStatic.framework.zip
asset_content_type: application/zip
- name: Upload dynamic iOS framework
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: frameworks/dynamic_ios/AdjustSdkDynamic.framework.zip
asset_name: AdjustSdkDynamic.framework.zip
asset_content_type: application/zip
- name: Upload dynamic tvOS framework
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: frameworks/dynamic_tvos/AdjustSdkTvDynamic.framework.zip
asset_name: AdjustSdkTvDynamic.framework.zip
asset_content_type: application/zip
- name: Upload dynamic iMessage framework
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: frameworks/dynamic_imessage/AdjustSdkIm.framework.zip
asset_name: AdjustSdkIm.framework.zip
asset_content_type: application/zip
- name: Upload dynamic WebBridge framework
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: frameworks/dynamic_webbridge/AdjustSdkWebBridge.framework.zip
asset_name: AdjustSdkWebBridge.framework.zip
asset_content_type: application/zip