8
8
fail-fast : false
9
9
matrix :
10
10
version :
11
- - 5.14.0
11
+ - 5.14.1
12
12
platform :
13
13
- gcc_64
14
14
- android
@@ -22,46 +22,45 @@ jobs:
22
22
- mingw73_32
23
23
- clang_64
24
24
- ios
25
+ mode :
26
+ - json
27
+ - generic
25
28
26
29
include :
27
30
- platform : gcc_64
28
31
os : ubuntu-latest
29
- repository : linux_x64
30
32
- platform : android
31
33
os : ubuntu-latest
32
- repository : linux_x64
33
34
- platform : wasm_32
34
35
os : ubuntu-latest
35
- repository : linux_x64
36
36
emsdk : sdk-fastcomp-1.38.27-64bit
37
37
- platform : msvc2017_64
38
- os : windows-2016
39
- repository : windows_x86
38
+ os : windows-latest
40
39
- platform : msvc2017
41
- os : windows-2016
42
- repository : windows_x86
40
+ os : windows-latest
43
41
- platform : winrt_x64_msvc2017
44
- os : windows-2016
45
- repository : windows_x86
42
+ os : windows-latest
46
43
- platform : winrt_x86_msvc2017
47
- os : windows-2016
48
- repository : windows_x86
44
+ os : windows-latest
49
45
- platform : winrt_armv7_msvc2017
50
46
os : windows-2016
51
- repository : windows_x86
52
47
- platform : mingw73_64
53
48
os : windows-latest
54
- repository : windows_x86
55
49
- platform : mingw73_32
56
50
os : windows-latest
57
51
extra-flags : CONFIG+=no_coroutine_tests
58
- repository : windows_x86
59
52
- platform : clang_64
60
53
os : macos-latest
61
- repository : mac_x64
62
54
- platform : ios
63
55
os : macos-latest
64
- repository : mac_x64
56
+
57
+ - mode : json
58
+ keysuffix : no-json
59
+ qtpackages : qtnetworkauth
60
+ config : CONFIG+=no_json_serializer
61
+ - mode : generic
62
+ keysuffix : json
63
+ qtpackages : qtnetworkauth,skycoder42.jsonserializer
65
64
66
65
runs-on : ${{matrix.os}}
67
66
steps :
@@ -85,14 +84,14 @@ jobs:
85
84
id : cache-qt
86
85
with :
87
86
path : qt/${{matrix.version}}/${{matrix.platform}}
88
- key : qt-${{matrix.version}}-${{matrix.platform}}-json
87
+ key : qt-${{matrix.version}}-${{matrix.platform}}-${{matrix.keysuffix}}
89
88
- uses : Skycoder42/action-setup-qt@master
90
89
id : qt
91
90
with :
92
91
version : ${{matrix.version}}
93
92
platform : ${{matrix.platform}}
94
- packages : qtnetworkauth,skycoder42.jsonserializer
95
- install-args : --addRepository https://install.skycoder42.de/qtmodules/${{matrix.repository}} --verbose
93
+ packages : ${{matrix.qtpackages}}
94
+ flat-sources : https://install.skycoder42.de/qtmodules/
96
95
cachedir : qt/${{matrix.version}}/${{matrix.platform}}
97
96
- name : build qthttpserver
98
97
if : steps.cache-qt.outputs.cache-hit != 'true' && !contains(matrix.platform, 'mingw')
@@ -107,30 +106,30 @@ jobs:
107
106
run : 7z x "src/3rdparty/qthttpserver-${{matrix.platform}}.zip" "-o${{steps.qt.outputs.qtdir}}" -aoa -y
108
107
- name : qmake
109
108
run : |
110
- qmake CONFIG+=install_ok QT_PLATFORM=${{matrix.platform}} ${{matrix.extra-flags}}
109
+ qmake CONFIG+=install_ok QT_PLATFORM=${{matrix.platform}} ${{matrix.config}} ${{matrix. extra-flags}}
111
110
${{steps.qt.outputs.make}} qmake_all
112
111
- name : make module
113
112
run : |
114
113
${{steps.qt.outputs.make}}
115
114
${{steps.qt.outputs.make}} INSTALL_ROOT="${{steps.qt.outputs.installdir}}" install
116
115
- name : make tests
117
- if : steps.qt.outputs.tests == 'true'
116
+ if : steps.qt.outputs.tests == 'true' && matrix.mode == 'generic'
118
117
run : |
119
118
${{steps.qt.outputs.make}} all
120
119
${{steps.qt.outputs.make}} ${{steps.qt.outputs.testflags}} run-tests
121
120
- name : make examples
122
- if : matrix.platform == 'gcc_64'
121
+ if : matrix.platform == 'gcc_64' && matrix.mode == 'generic'
123
122
run : |
124
123
${{steps.qt.outputs.make}} sub-examples
125
124
cd examples && ${{steps.qt.outputs.make}} INSTALL_ROOT="${{steps.qt.outputs.installdir}}" install
126
125
- name : make doc
127
- if : matrix.platform == 'gcc_64'
126
+ if : matrix.platform == 'gcc_64' && matrix.mode == 'generic'
128
127
run : |
129
128
${{steps.qt.outputs.make}} doxygen
130
129
cd doc && ${{steps.qt.outputs.make}} INSTALL_ROOT="${{steps.qt.outputs.installdir}}" install
131
130
- name : upload module to releases
132
131
uses : Skycoder42/action-upload-release@master
133
- if : startsWith(github.ref, 'refs/tags/')
132
+ if : startsWith(github.ref, 'refs/tags/') && matrix.mode == 'generic'
134
133
with :
135
134
repo_token : ${{secrets.GITHUB_TOKEN}}
136
135
directory : ${{steps.qt.outputs.outdir}}/${{matrix.version}}
@@ -139,129 +138,33 @@ jobs:
139
138
overwrite : true
140
139
- name : upload examples to releases
141
140
uses : Skycoder42/action-upload-release@master
142
- if : matrix.platform == 'gcc_64' && startsWith(github.ref, 'refs/tags/')
141
+ if : matrix.platform == 'gcc_64' && startsWith(github.ref, 'refs/tags/') && matrix.mode == 'generic'
143
142
with :
144
143
repo_token : ${{secrets.GITHUB_TOKEN}}
145
- directory : ${{steps.qt.outputs.outdir}}/Examples
144
+ directory : ${{steps.qt.outputs.outdir}}/${{matrix.version}}/${{matrix.platform}}/examples
146
145
asset_name : qtrestclient-examples-${{matrix.version}}
147
146
tag : ${{github.ref}}
148
147
overwrite : true
149
148
- name : upload doc to releases
150
149
uses : Skycoder42/action-upload-release@master
151
- if : matrix.platform == 'gcc_64' && startsWith(github.ref, 'refs/tags/')
150
+ if : matrix.platform == 'gcc_64' && startsWith(github.ref, 'refs/tags/') && matrix.mode == 'generic'
152
151
with :
153
152
repo_token : ${{secrets.GITHUB_TOKEN}}
154
- directory : ${{steps.qt.outputs.outdir}}/Docs
153
+ directory : ${{steps.qt.outputs.outdir}}/${{matrix.version}}/${{matrix.platform}}/doc
155
154
asset_name : qtrestclient-doc-${{matrix.version}}
156
155
tag : ${{github.ref}}
157
156
overwrite : true
158
157
159
- build-no-json :
160
- strategy :
161
- fail-fast : false
162
- matrix :
163
- version :
164
- - 5.14.0
165
- platform :
166
- - gcc_64
167
- - android
168
- - wasm_32
169
- - msvc2017_64
170
- - msvc2017
171
- - winrt_x64_msvc2017
172
- - winrt_x86_msvc2017
173
- - winrt_armv7_msvc2017
174
- - mingw73_64
175
- - mingw73_32
176
- - clang_64
177
- - ios
178
-
179
- include :
180
- - platform : gcc_64
181
- os : ubuntu-latest
182
- - platform : android
183
- os : ubuntu-latest
184
- - platform : wasm_32
185
- os : ubuntu-latest
186
- emsdk : sdk-fastcomp-1.38.27-64bit
187
- - platform : msvc2017_64
188
- os : windows-2016
189
- - platform : msvc2017
190
- os : windows-2016
191
- - platform : winrt_x64_msvc2017
192
- os : windows-2016
193
- - platform : winrt_x86_msvc2017
194
- os : windows-2016
195
- - platform : winrt_armv7_msvc2017
196
- os : windows-2016
197
- - platform : mingw73_64
198
- os : windows-latest
199
- - platform : mingw73_32
200
- os : windows-latest
201
- - platform : clang_64
202
- os : macos-latest
203
- - platform : ios
204
- os : macos-latest
205
-
206
- runs-on : ${{matrix.os}}
207
- steps :
208
- - uses : actions/checkout@v1
209
- with :
210
- submodules : recursive
211
- - uses : actions/setup-python@v1
212
- - name : actions/cache emsdk
213
- uses : actions/cache@v1
214
- if : matrix.platform == 'wasm_32'
215
- with :
216
- path : emsdk-cache
217
- key : ${{runner.os}}-emsdk-${{matrix.emsdk}}
218
- - uses : mymindstorm/setup-emsdk@v3
219
- if : matrix.platform == 'wasm_32'
220
- with :
221
- version : ${{matrix.emsdk}}
222
- actions-cache-folder : emsdk-cache
223
- - name : actions/cache qt
224
- uses : actions/cache@v1
225
- id : cache-qt
226
- with :
227
- path : qt/${{matrix.version}}/${{matrix.platform}}
228
- key : qt-${{matrix.version}}-${{matrix.platform}}-no-json
229
- - uses : Skycoder42/action-setup-qt@master
230
- id : qt
231
- with :
232
- version : ${{matrix.version}}
233
- platform : ${{matrix.platform}}
234
- packages : qtnetworkauth
235
- install-args : --verbose
236
- cachedir : qt/${{matrix.version}}/${{matrix.platform}}
237
- - name : build qthttpserver
238
- if : steps.cache-qt.outputs.cache-hit != 'true' && !contains(matrix.platform, 'mingw')
239
- run : |
240
- qmake
241
- ${{steps.qt.outputs.make}} qmake_all
242
- ${{steps.qt.outputs.make}}
243
- ${{steps.qt.outputs.make}} install
244
- working-directory : src/3rdparty/qthttpserver
245
- - name : unpack qthttpserver
246
- if : steps.cache-qt.outputs.cache-hit != 'true' && contains(matrix.platform, 'mingw')
247
- run : 7z x "src/3rdparty/qthttpserver-${{matrix.platform}}.zip" "-o${{steps.qt.outputs.qtdir}}" -aoa -y
248
- - name : qmake
249
- run : |
250
- qmake CONFIG+=install_ok CONFIG+=no_json_serializer QT_PLATFORM=${{matrix.platform}}
251
- ${{steps.qt.outputs.make}} qmake_all
252
- - name : make module
253
- run : ${{steps.qt.outputs.make}}
254
-
255
158
deploy :
256
159
if : startsWith(github.ref, 'refs/tags/')
257
- needs : [ build, build-no-json]
160
+ needs : build
258
161
runs-on : ubuntu-latest
259
162
steps :
260
163
- uses : actions/setup-python@v1
261
164
- uses : Skycoder42/action-deploy-qt@master
262
165
with :
263
166
token : ${{secrets.GITHUB_TOKEN}}
264
- version : 5.14.0
167
+ version : 5.14.1
265
168
host : ${{secrets.SSHFS_HOST}}
266
169
key : ${{secrets.SSHFS_KEY}}
267
170
port : ${{secrets.SSHFS_PORT}}
0 commit comments