-
Notifications
You must be signed in to change notification settings - Fork 28
/
.gitlab-ci.yml
238 lines (228 loc) · 7.08 KB
/
.gitlab-ci.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
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
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
variables:
# Versions of components used for integration tests
MENDER_REV:
value: "master"
description: |-
Version of mender
META_MENDER_REV:
value: "master"
description: |-
Version of meta-mender
POKY_REV:
value: "scarthgap"
description: |-
Version of poky
MENDER_QA_REV:
value: "master"
description: |-
Version of mender-qa
MENDER_ARTIFACT_REV:
value: "master"
description: |-
Version of mender-artifact
MENDER_CLI_REV:
value: "master"
description: |-
Version of mender-cli
INTEGRATION_REV:
value: "master"
description: |-
Version of integration
META_OPENEMBEDDED_REV:
value: "scarthgap"
description: |-
Version of meta-openembedded
META_RASPBERRYPI_REV:
value: "kirkstone"
description: |-
Version of meta-raspberrypi. Only applicable for kirkstone or older
AUDITLOGS_REV:
value: "master"
description: |-
Version of auditlogs
MENDER_CONNECT_REV:
value: "master"
description: |-
Version of mender-connect
MENDER_SETUP_REV:
value: "master"
description: |-
Version of mender-setup
MENDER_SNAPSHOT_REV:
value: "master"
description: |-
Version of mender-snapshot
MONITOR_CLIENT_REV:
value: "master"
description: |-
Version of monitor-client
MENDER_GATEWAY_REV:
value: "master"
description: |-
Version of mender-gateway
MENDER_CI_WORKFLOWS_REV:
value: "master"
description: |-
Version of mender-ci-workflows
MENDER_CONFIGURE_MODULE_REV:
value: "master"
description: |-
Version of mender-configure-module
# Versions of independent components
MENDER_BINARY_DELTA_VERSION:
value: "latest"
description: |-
Version of mender-binary-delta
# Build stage
BUILD_CLIENT:
value: "true"
description: |-
Flag to build client for integration tests. False means use prebuilt client from upstream
# Client test stage
BUILD_QEMUX86_64_UEFI_GRUB:
value: "true"
description: |-
Flag to build configuration QEMUX86_64_UEFI_GRUB. Applicable for client acceptance tests
TEST_QEMUX86_64_UEFI_GRUB:
value: "true"
description: |-
Flag to test configuration QEMUX86_64_UEFI_GRUB. Applicable for client acceptance tests
BUILD_QEMUX86_64_BIOS_GRUB:
value: "true"
description: |-
Flag to build configuration QEMUX86_64_BIOS_GRUB. Applicable for client acceptance tests
TEST_QEMUX86_64_BIOS_GRUB:
value: "true"
description: |-
Flag to test configuration QEMUX86_64_BIOS_GRUB. Applicable for client acceptance tests
BUILD_QEMUX86_64_BIOS_GRUB_GPT:
value: "true"
description: |-
Flag to build configuration QEMUX86_64_BIOS_GRUB_GPT. Applicable for client acceptance tests
TEST_QEMUX86_64_BIOS_GRUB_GPT:
value: "true"
description: |-
Flag to test configuration QEMUX86_64_BIOS_GRUB_GPT. Applicable for client acceptance tests
BUILD_VEXPRESS_QEMU_UBOOT_UEFI_GRUB:
value: "true"
description: |-
Flag to build configuration VEXPRESS_QEMU_UBOOT_UEFI_GRUB. Applicable for client acceptance tests
TEST_VEXPRESS_QEMU_UBOOT_UEFI_GRUB:
value: "true"
description: |-
Flag to test configuration VEXPRESS_QEMU_UBOOT_UEFI_GRUB. Applicable for client acceptance tests
BUILD_VEXPRESS_QEMU:
value: "true"
description: |-
Flag to build configuration VEXPRESS_QEMU. Applicable for client acceptance tests
TEST_VEXPRESS_QEMU:
value: "true"
description: |-
Flag to test configuration VEXPRESS_QEMU. Applicable for client acceptance tests
BUILD_VEXPRESS_QEMU_FLASH:
value: "true"
description: |-
Flag to build configuration VEXPRESS_QEMU_FLASH. Applicable for client acceptance tests
TEST_VEXPRESS_QEMU_FLASH:
value: "true"
description: |-
Flag to TEST_ configuration VEXPRESS_QEMU_FLASH. Applicable for client acceptance tests
BUILD_BEAGLEBONEBLACK:
value: "true"
description: |-
Flag to build configuration BEAGLEBONEBLACK. Applicable for client acceptance tests
BUILD_RASPBERRYPI3:
value: "false"
description: |-
Flag to build configuration RASPBERRYPI3. Applicable for client acceptance tests
BUILD_RASPBERRYPI4:
value: "false"
description: |-
Flag to build configuration RASPBERRYPI4. Applicable for client acceptance tests
SPECIFIC_ACCEPTANCE_TEST:
value: ""
description: |-
Specify a subsets of tests to run. Applicable for client acceptance tests
# Parallel factor for tests
TESTS_IN_PARALLEL_CLIENT_ACCEPTANCE:
value: "2"
description: |-
Set the parallel factor for client acceptance tests
# Child pipelines build and test
MENDER_CONVERT_REV:
value: "master"
description: |-
Version of mender-convert
MENDER_DIST_PACKAGES_REV:
value: "master"
description: |-
Version of mender-dist-packages
BUILD_MENDER_DIST_PACKAGES:
value: "false"
description: |-
Flag to trigger child pipeline mender-dist-packages
BUILD_MENDER_CONVERT:
value: "false"
description: |-
Flag to trigger child pipeline mender-convert
TEST_MENDER_DIST_PACKAGES:
value: "false"
description: |-
Flag to run tests in child pipeline mender-dist-packages
TEST_MENDER_CONVERT:
value: "false"
description: |-
Flag to run tests in child pipeline mender-convert
# Publication
PUBLISH_DOCKER_CLIENT_IMAGES:
value: "false"
description: |-
Flat to publish Docker client images
PUBLISH_RELEASE_AUTOMATIC:
value: "false"
description: |-
Flag to publish all deliverables automatically. Publishes Docker images and binaries
# Nightly build marker
NIGHTLY_BUILD:
value: "false"
description: |-
Marker to identify nightly builds
# Debugging options
WAIT_IN_STAGE_INIT:
value: ""
description: |-
Marker to make the CI machines wait in stage INIT for remote debugging
WAIT_IN_STAGE_BUILD:
value: ""
description: |-
Marker to make the CI machines wait in stage BUILD for remote debugging
WAIT_IN_STAGE_TEST:
value: ""
description: |-
Marker to make the CI machines wait in stage TEST for remote debugging
include:
- local: "/gitlab-pipeline/internal-variables.yml"
- project: "Northern.tech/Mender/mendertesting"
file: ".gitlab-ci-check-commits-signoffs.yml"
- local: "/gitlab-pipeline/shared/build_and_test_acceptance.yml"
- local: "/gitlab-pipeline/stage/pre.yml"
- local: "/gitlab-pipeline/stage/init.yml"
- local: "/gitlab-pipeline/stage/build.yml"
- local: "/gitlab-pipeline/stage/yocto-build-n-test.yml"
- local: "/gitlab-pipeline/stage/trigger-packages.yml"
- local: "/gitlab-pipeline/stage/trigger-images.yml"
- local: "/gitlab-pipeline/stage/release.yml"
- local: "/gitlab-pipeline/stage/post.yml"
stages:
# .pre and .post have no effect and are only for documentation purposes. .pre
# and .post stages run at the very start and very end of a pipeline,
# regardless of where they are defined.
- .pre
- init
- build
- yocto:build-n-test
- test
- release
- trigger:packages
- trigger:images
- .post