.gitlab-ci.yml 5.9 KB
Newer Older
1
2
3
4
5
6
7
include:
    # Metadata shared my many jobs
    - local: .gitlab/rules.yml
    - local: .gitlab/artifacts.yml

    # OS builds.
    - local: .gitlab/os-linux.yml
8
    - local: .gitlab/os-macos.yml
Ben Boeckel's avatar
Ben Boeckel committed
9
    - local: .gitlab/os-windows.yml
10

11
12
13
    # Post-build steps
    - local: .gitlab/upload.yml

14
15
16
stages:
    - build
    - test
17
    - upload
18

19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
################################################################################
# Job declarations
#
# Each job must pull in each of the following keys:
#
#   - a "base image"
#   - a build script
#   - tags for the jobs
#     - already provided for upload and CI update jobs
#   - rules for when to run the job
#
# Additionally, jobs may also contain:
#
#   - artifacts
#   - dependency/needs jobs for required jobs
################################################################################

# Linux

## Normal build

build:linux-plain:
Utkarsh Ayachit's avatar
Utkarsh Ayachit committed
41
    extends:
42
43
44
45
        - .centos7_plain
        - .cmake_build_linux
        - .cmake_build_artifacts
        - .linux_builder_tags
46
        - .run_manually
47

48
test:linux-plain:
Utkarsh Ayachit's avatar
Utkarsh Ayachit committed
49
    extends:
Ben Boeckel's avatar
Ben Boeckel committed
50
        - .fedora33_plain
51
52
53
54
        - .cmake_test_linux
        - .cmake_package_artifacts
        - .linux_test_tags
        - .run_automatically
55
    dependencies:
56
        - build:linux-plain
57
    needs:
58
59
        - build:linux-plain

60
61
62
63
64
65
66
67
68
69
70
upload:linux-plain:
    extends:
        - .rsync_upload
        - .upload_only
    dependencies:
        - test:linux-plain
    needs:
        - test:linux-plain
    variables:
        RSYNC_DESTINATION: paraview_nightly_bin

71
## EGL build
72

73
build:linux-egl:
Utkarsh Ayachit's avatar
Utkarsh Ayachit committed
74
    extends:
75
76
77
78
        - .centos7_egl
        - .cmake_build_linux
        - .cmake_build_artifacts
        - .linux_builder_tags
79
        - .run_manually
Utkarsh Ayachit's avatar
Utkarsh Ayachit committed
80

81
test:linux-egl:
Utkarsh Ayachit's avatar
Utkarsh Ayachit committed
82
    extends:
83
        # Required to get EGL support in the container.
Ben Boeckel's avatar
Ben Boeckel committed
84
        - .fedora33_egl
85
86
87
88
        - .cmake_test_linux
        - .cmake_package_artifacts
        - .linux_test_tags
        - .run_automatically
89
    dependencies:
90
        - build:linux-egl
91
    needs:
92
        - build:linux-egl
93

94
95
96
97
98
99
100
101
102
103
104
upload:linux-egl:
    extends:
        - .rsync_upload
        - .upload_only
    dependencies:
        - test:linux-egl
    needs:
        - test:linux-egl
    variables:
        RSYNC_DESTINATION: paraview_nightly_bin

105
106
107
## OSMesa shared build

build:linux-osmesa-shared:
Utkarsh Ayachit's avatar
Utkarsh Ayachit committed
108
    extends:
109
110
111
112
        - .centos7_osmesa_shared
        - .cmake_build_linux
        - .cmake_build_artifacts
        - .linux_builder_tags
113
        - .run_manually
Utkarsh Ayachit's avatar
Utkarsh Ayachit committed
114

115
test:linux-osmesa-shared:
Utkarsh Ayachit's avatar
Utkarsh Ayachit committed
116
    extends:
117
118
119
120
121
        - .centos7_osmesa_shared
        - .cmake_test_linux
        - .cmake_package_artifacts
        - .linux_test_tags
        - .run_automatically
Utkarsh Ayachit's avatar
Utkarsh Ayachit committed
122
    dependencies:
123
        - build:linux-osmesa-shared
Utkarsh Ayachit's avatar
Utkarsh Ayachit committed
124
    needs:
125
126
        - build:linux-osmesa-shared

127
128
129
130
131
132
133
134
135
136
137
upload:linux-osmesa-shared:
    extends:
        - .rsync_upload
        - .upload_only
    dependencies:
        - test:linux-osmesa-shared
    needs:
        - test:linux-osmesa-shared
    variables:
        RSYNC_DESTINATION: paraview_nightly_bin

138
139
140
141
## OSMesa static build
#
# This builds ParaView statically while keeping the other dependencies as
# shared.
Utkarsh Ayachit's avatar
Utkarsh Ayachit committed
142

143
build:linux-osmesa-static:
Utkarsh Ayachit's avatar
Utkarsh Ayachit committed
144
    extends:
145
146
147
148
        - .centos7_osmesa_static
        - .cmake_build_linux
        - .cmake_build_artifacts
        - .linux_builder_tags
149
        - .run_manually
Utkarsh Ayachit's avatar
Utkarsh Ayachit committed
150

151
test:linux-osmesa-static:
Utkarsh Ayachit's avatar
Utkarsh Ayachit committed
152
    extends:
153
154
155
156
157
        - .centos7_osmesa_static
        - .cmake_test_linux
        - .cmake_package_artifacts
        - .linux_test_tags
        - .run_automatically
Utkarsh Ayachit's avatar
Utkarsh Ayachit committed
158
    dependencies:
159
        - build:linux-osmesa-static
Utkarsh Ayachit's avatar
Utkarsh Ayachit committed
160
    needs:
161
        - build:linux-osmesa-static
Ben Boeckel's avatar
Ben Boeckel committed
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
# macOS

## Normal build

build:macos-plain:
    extends:
        - .macos_plain
        - .cmake_build_macos
        - .cmake_build_artifacts
        - .macos_builder_tags
        - .run_manually

test:macos-plain:
    extends:
        - .macos_plain
        - .cmake_test_macos
        - .cmake_package_artifacts
        - .macos_builder_tags_test
        - .run_automatically
    dependencies:
        - build:macos-plain
    needs:
        - build:macos-plain

upload:macos-plain:
    extends:
        - .rsync_upload
        - .upload_only
    dependencies:
        - test:macos-plain
    needs:
        - test:macos-plain
    variables:
        RSYNC_DESTINATION: paraview_nightly_bin

Ben Boeckel's avatar
Ben Boeckel committed
198
199
200
201
202
203
204
205
206
207
# Windows

## MPI build

build:windows-vs2019-mpi:
    extends:
        - .windows_vs2019_mpi
        - .cmake_build_windows
        - .cmake_build_artifacts
        - .windows_builder_tags
208
        - .run_manually
209
    timeout: 2 hours
Ben Boeckel's avatar
Ben Boeckel committed
210
211
212
213
214
215
216
217
218
219
220
221

test:windows-vs2019-mpi:
    extends:
        - .windows_vs2019_mpi
        - .cmake_test_windows
        - .cmake_package_artifacts
        - .windows_builder_tags
        - .run_automatically
    dependencies:
        - build:windows-vs2019-mpi
    needs:
        - build:windows-vs2019-mpi
222
223
    # OpenGL context are not being created properly. Investigation needed.
    allow_failure: true
Ben Boeckel's avatar
Ben Boeckel committed
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243

upload:windows-vs2019-mpi:
    extends:
        - .rsync_upload
        - .upload_only
    dependencies:
        - test:windows-vs2019-mpi
    needs:
        - test:windows-vs2019-mpi
    variables:
        RSYNC_DESTINATION: paraview_nightly_bin

## non-MPI build

build:windows-vs2019-nompi:
    extends:
        - .windows_vs2019_nompi
        - .cmake_build_windows
        - .cmake_build_artifacts
        - .windows_builder_tags
244
        - .run_manually
245
    timeout: 2 hours
Ben Boeckel's avatar
Ben Boeckel committed
246
247
248
249
250
251
252
253
254
255
256
257

test:windows-vs2019-nompi:
    extends:
        - .windows_vs2019_nompi
        - .cmake_test_windows
        - .cmake_package_artifacts
        - .windows_builder_tags
        - .run_automatically
    dependencies:
        - build:windows-vs2019-nompi
    needs:
        - build:windows-vs2019-nompi
258
259
    # OpenGL context are not being created properly. Investigation needed.
    allow_failure: true
Ben Boeckel's avatar
Ben Boeckel committed
260
261
262
263
264
265
266
267
268
269
270

upload:windows-vs2019-nompi:
    extends:
        - .rsync_upload
        - .upload_only
    dependencies:
        - test:windows-vs2019-nompi
    needs:
        - test:windows-vs2019-nompi
    variables:
        RSYNC_DESTINATION: paraview_nightly_bin