blob: efb7f10165c8b979f9a87000b4110990c270c94b [file] [log] [blame]
Brian O'Connor9fbe7722017-10-27 12:44:04 -07001---
2
3- job_boiler_plate: &job_boiler_plate
4 name: job-boiler-plate
5
6 project-type: freestyle
7 node: '{build-node}'
8
9 ######################
10 # Default parameters #
11 ######################
12
13 branch: master
14 submodule-recursive: true
15 git-url: '$GIT_URL/$GERRIT_PROJECT'
16
17 #####################
18 # Job Configuration #
19 #####################
20
21 properties:
22 - lf-infra-properties:
23 project: '{project}'
24 build-days-to-keep: '{build-days-to-keep}'
25 #- github:
26 # url: '{git-url}/{github-org}/{project}'
27
28 parameters:
29 - lf-infra-parameters:
30 project: '{project}'
Ray Milkeye0b54ef2017-10-31 16:17:34 -070031 branch: '{stream}'
Brian O'Connor9fbe7722017-10-27 12:44:04 -070032 stream: '{stream}'
33 lftools-version: '{lftools-version}'
34
35 wrappers:
36 - lf-infra-wrappers:
37 build-timeout: '{build-timeout}'
38 jenkins-ssh-credential: '{jenkins-ssh-credential}'
39
40
41- verify_boiler_plate: &verify_boiler_plate
42 name: verify_boiler_plate
43
44 concurrent: true
45
46 scm:
Brian O'Connore78aff62017-10-30 14:08:51 -070047 - lf-infra-gerrit-scm:
48 git-url: '{git-url}'
Brian O'Connor9fbe7722017-10-27 12:44:04 -070049 refspec: '$GERRIT_REFSPEC'
50 branch: '$GERRIT_BRANCH'
51 submodule-recursive: '{submodule-recursive}'
Brian O'Connore78aff62017-10-30 14:08:51 -070052 choosing-strategy: gerrit
Brian O'Connor9fbe7722017-10-27 12:44:04 -070053 jenkins-ssh-credential: '{jenkins-ssh-credential}'
54
55 triggers:
56 - gerrit:
57 #server-name: '{gerrit-server-name}'
58 server-name: 'ONOS Project Gerrit'
59 #trigger-on: '{obj:gerrit_verify_triggers}'
60 trigger-on:
61 - patchset-created-event:
62 exclude-drafts: true
63 exclude-trivial-rebase: false
64 exclude-no-code-change: true
65 - draft-published-event
Brian O'Connoredd87412017-10-30 19:27:08 -070066 - comment-added-contains-event:
67 comment-contains-value: '(?i)^.*recheck$'
Brian O'Connor9fbe7722017-10-27 12:44:04 -070068 projects:
69 - project-compare-type: PLAIN
Ray Milkey20beeae2017-10-31 15:26:10 -070070 project-pattern: '{project}'
Brian O'Connor9fbe7722017-10-27 12:44:04 -070071 branches:
72 - branch-compare-type: ANT
Ray Milkeye0b54ef2017-10-31 16:17:34 -070073 branch-pattern: '**/{stream}'
Ray Milkeyc0c94f52017-10-30 17:36:14 -070074 #file-paths: '{obj:gerrit_trigger_file_paths}'
Brian O'Connor9fbe7722017-10-27 12:44:04 -070075
Ray Milkey8e462202017-11-02 10:18:37 -070076- daily_boiler_plate: &daily_boiler_plate
77 name: daily_boiler_plate
78
79 concurrent: true
80
81 scm:
82 - lf-infra-gerrit-scm:
83 git-url: '{git-url}'
84 refspec: '$GERRIT_REFSPEC'
85 branch: '$GERRIT_BRANCH'
86 submodule-recursive: '{submodule-recursive}'
87 choosing-strategy: gerrit
88 jenkins-ssh-credential: '{jenkins-ssh-credential}'
89
90 triggers:
91 - timed: '@daily'
92
Ray Milkeyd9f73662017-11-06 10:29:51 -080093- hourly_boiler_plate: &hourly_boiler_plate
94 name: hourly_boiler_plate
95
96 concurrent: true
97
98 scm:
99 - lf-infra-gerrit-scm:
100 git-url: '{git-url}'
101 refspec: '$GERRIT_REFSPEC'
102 branch: '$GERRIT_BRANCH'
103 submodule-recursive: '{submodule-recursive}'
104 choosing-strategy: gerrit
105 jenkins-ssh-credential: '{jenkins-ssh-credential}'
106
107 triggers:
108 - timed: '@hourly'
109
Ray Milkey4309d9b2017-11-17 13:41:46 -0800110- release_build_boiler_plate: &release_build_boiler_plate
111 name: release_build_boiler_plate
112
113 concurrent: true
114
115 parameters:
116 - lf-infra-parameters:
117 project: '{project}'
118 branch: '{stream}'
119 stream: '{stream}'
120 lftools-version: '{lftools-version}'
121
122 - string:
123 name: ONOS_VERSION
124 default: '1.12'
125 description: 'Version of ONOS to build'
126
127 - string:
128 name: ONOS_NEXT_VERSION
129 default: '1.13.0-SNAPSHOT'
130 description: 'Version of ONOS to build'
131
132 scm:
133 - lf-infra-gerrit-scm:
134 git-url: '{git-url}'
135 refspec: '$GERRIT_REFSPEC'
136 branch: '$GERRIT_BRANCH'
137 submodule-recursive: '{submodule-recursive}'
138 choosing-strategy: gerrit
139 jenkins-ssh-credential: '{jenkins-ssh-credential}'
140
Brian O'Connor9fbe7722017-10-27 12:44:04 -0700141- job-template:
142 #default name is global
143 name: '{project-name}-{stream}-verify'
144
145 # Job template for Java verify jobs
146 #
147 # The purpose of this job templte is to run "maven clean install" for
148 # projects using this template.
149 #
150 # Required Variables:
151 # branch: git branch (eg. master)
152
153 <<: *job_boiler_plate
154 # yamllint disable-line rule:key-duplicates
155 <<: *verify_boiler_plate
156
157 builders:
158 #put shell scripts in file then make sure shell check is installed on verify vms
Ray Milkey7aa43462017-10-30 16:15:23 -0700159 - shell: !include-raw-escape: onos-verify.sh
Yuta HIGUCHI02e46d32017-10-31 10:17:47 -0700160 # JJB 1.6.2 does not support parameter expansion on filename?
161 #- shell: !include-raw-escape: {project-name}-verify.sh
162
163# workaround for lack of parameter expansion support in shell: (see above)
164- job-template:
165 #default name is global
166 name: 'onos-yang-tools-{stream}-verify'
167
168 # Job template for Java verify jobs
169 #
170 # The purpose of this job templte is to run "maven clean install" for
171 # projects using this template.
172 #
173 # Required Variables:
174 # branch: git branch (eg. master)
175
176 <<: *job_boiler_plate
177 # yamllint disable-line rule:key-duplicates
178 <<: *verify_boiler_plate
179
180 builders:
181 #put shell scripts in file then make sure shell check is installed on verify vms
182 - shell: !include-raw-escape: onos-yang-tools-verify.sh
183
Ray Milkey83d912a2017-11-01 13:49:31 -0700184# workaround for lack of parameter expansion support in shell: (see above)
185- job-template:
186 #default name is global
Yuta HIGUCHI28821fd2017-11-17 16:11:19 -0800187 name: 'onos-app-samples-{stream}-verify'
188
189 # Job template for Java verify jobs
190 #
191 # The purpose of this job templte is to run "maven clean install" for
192 # projects using this template.
193 #
194 # Required Variables:
195 # branch: git branch (eg. master)
196
197 <<: *job_boiler_plate
198 # yamllint disable-line rule:key-duplicates
199 <<: *verify_boiler_plate
200
201 builders:
202 #put shell scripts in file then make sure shell check is installed on verify vms
203 - shell: !include-raw-escape: onos-app-samples-verify.sh
204
Yuta HIGUCHI1ac83232017-11-17 16:37:57 -0800205# workaround for lack of parameter expansion support in shell: (see above)
206- job-template:
207 #default name is global
208 name: 'onos-loxi-{stream}-verify'
209
210 # Job template for Java verify jobs
211 #
212 # The purpose of this job templte is to run "maven clean install" for
213 # projects using this template.
214 #
215 # Required Variables:
216 # branch: git branch (eg. master)
217
218 <<: *job_boiler_plate
219 # yamllint disable-line rule:key-duplicates
220 <<: *verify_boiler_plate
221
222 builders:
223 #put shell scripts in file then make sure shell check is installed on verify vms
224 - shell: !include-raw-escape: onos-loxi-verify.sh
Yuta HIGUCHI28821fd2017-11-17 16:11:19 -0800225
226# workaround for lack of parameter expansion support in shell: (see above)
227- job-template:
228 #default name is global
Ray Milkey83d912a2017-11-01 13:49:31 -0700229 name: 'onos-gui-{stream}-verify'
230
231 # Job template for Java verify jobs
232 #
233 # The purpose of this job templte is to run "maven clean install" for
234 # projects using this template.
235 #
236 # Required Variables:
237 # branch: git branch (eg. master)
238
239 <<: *job_boiler_plate
240 # yamllint disable-line rule:key-duplicates
241 <<: *verify_boiler_plate
242
243 builders:
244 #put shell scripts in file then make sure shell check is installed on verify vms
245 - shell: !include-raw-escape: onos-gui-verify.sh
246
Ray Milkey8e462202017-11-02 10:18:37 -0700247- job-template:
248 #default name is global
249 name: 'onos-{stream}-release-build-verify'
250
251 # Job template for Java release check jobs
252 #
253
254 <<: *job_boiler_plate
255 # yamllint disable-line rule:key-duplicates
Ray Milkey29c54342017-11-06 16:43:01 -0800256 <<: *daily_boiler_plate
Ray Milkey8e462202017-11-02 10:18:37 -0700257
258 builders:
Ray Milkey8fae9a72017-11-17 10:03:54 -0800259
Ray Milkey8e462202017-11-02 10:18:37 -0700260 #put shell scripts in file then make sure shell check is installed on verify vms
261 - shell: !include-raw-escape: onos-release-build-verify.sh
262 # JJB 1.6.2 does not support parameter expansion on filename?
263 #- shell: !include-raw-escape: {project-name}-verify.sh
264
Ray Milkeyd9f73662017-11-06 10:29:51 -0800265- job-template:
266 #default name is global
Ray Milkey2afc4a52017-11-17 11:01:38 -0800267 name: 'onos-release-build'
268
269 # Job template for Java release jobs
270 #
271
272 <<: *job_boiler_plate
273 # yamllint disable-line rule:key-duplicates
Ray Milkey4309d9b2017-11-17 13:41:46 -0800274 <<: *release_build_boiler_plate
Ray Milkey2afc4a52017-11-17 11:01:38 -0800275
276 builders:
Ray Milkey094fd002017-11-22 10:21:59 -0800277 - lf-provide-maven-settings:
278 settings-file: 'release-build-maven-settings'
279 global-settings-file: 'release-build-maven-settings'
Ray Milkey2afc4a52017-11-17 11:01:38 -0800280 - config-file-provider:
281 files:
282 - file-id: 'onos-build-credentials'
283 target: 'onos-build-credentials'
284 variable: 'CREDENTIALS_FILE'
Ray Milkeye8fd4f02017-11-17 14:54:18 -0800285 - file-id: 'buck-config-local'
286 target: '.buckconfig.local'
287 variable: 'BUCK_CONFIG_FILE'
Ray Milkeyb867be82017-11-27 13:29:19 -0800288 - file-id: 'gpg-key'
289 target: 'jenkins.key'
290 variable: 'GPG_KEY_FILE'
Ray Milkey43e7f932017-11-27 08:48:42 -0800291 - file-id: 'release-build-maven-settings'
292 target: 'settings.xml'
293 variable: 'MAVEN_SETTINGS'
Ray Milkey7d774fb2017-12-05 14:57:30 -0800294 - file-id: 'api-onosproject-ssh-key'
295 target: 'id_rsa.pub'
296 variable: 'API_ONOSPROJECT_SSH_KEY'
Ray Milkey2afc4a52017-11-17 11:01:38 -0800297
298 #put shell scripts in file then make sure shell check is installed on verify vms
299 - shell: !include-raw-escape: onos-release-build.sh
300 # JJB 1.6.2 does not support parameter expansion on filename?
301 #- shell: !include-raw-escape: {project-name}-verify.sh
302
303- job-template:
304 #default name is global
Ray Milkey0caba7f2018-01-08 12:56:18 -0800305 name: 'onos-docker-build'
306
307 # Job template for Docker jobs
308 #
309
310 <<: *job_boiler_plate
311 # yamllint disable-line rule:key-duplicates
312 <<: *release_build_boiler_plate
313
314 builders:
315 - lf-provide-maven-settings:
316 settings-file: 'release-build-maven-settings'
317 global-settings-file: 'release-build-maven-settings'
318 - config-file-provider:
319 files:
320 - file-id: 'onos-build-credentials'
321 target: 'onos-build-credentials'
322 variable: 'CREDENTIALS_FILE'
323 - file-id: 'buck-config-local'
324 target: '.buckconfig.local'
325 variable: 'BUCK_CONFIG_FILE'
326 - file-id: 'gpg-key'
327 target: 'jenkins.key'
328 variable: 'GPG_KEY_FILE'
329 - file-id: 'release-build-maven-settings'
330 target: 'settings.xml'
331 variable: 'MAVEN_SETTINGS'
332 - file-id: 'api-onosproject-ssh-key'
333 target: 'id_rsa.pub'
334 variable: 'API_ONOSPROJECT_SSH_KEY'
335
336 #put shell scripts in file then make sure shell check is installed on verify vms
337 - shell: !include-raw-escape: onos-docker-build.sh
338 # JJB 1.6.2 does not support parameter expansion on filename?
339 #- shell: !include-raw-escape: {project-name}-verify.sh
340
341- job-template:
342 #default name is global
Ray Milkeyd9f73662017-11-06 10:29:51 -0800343 name: 'onos-{stream}-maven-verify'
344
345 <<: *job_boiler_plate
346 # yamllint disable-line rule:key-duplicates
Ray Milkey4502aae2017-11-06 13:02:45 -0800347 <<: *hourly_boiler_plate
Ray Milkeyd9f73662017-11-06 10:29:51 -0800348
349 builders:
350 #put shell scripts in file then make sure shell check is installed on verify vms
351 - shell: !include-raw-escape: onos-maven-verify.sh
352 # JJB 1.6.2 does not support parameter expansion on filename?
353 #- shell: !include-raw-escape: {project-name}-verify.sh
Brian O'Connor9fbe7722017-10-27 12:44:04 -0700354
Ray Milkey20d22522017-11-08 10:55:52 -0800355- job-template:
356 #default name is global
357 name: 'onos-{stream}-sonar'
358
359 <<: *job_boiler_plate
360 # yamllint disable-line rule:key-duplicates
361 <<: *daily_boiler_plate
362
363 builders:
364 #put shell scripts in file then make sure shell check is installed on verify vms
365 - shell: !include-raw-escape: onos-sonar.sh
366 # JJB 1.6.2 does not support parameter expansion on filename?
367 #- shell: !include-raw-escape: {project-name}-verify.sh
368
Brian O'Connor9fbe7722017-10-27 12:44:04 -0700369- project:
370 name: onos
371 project-name: onos
372 project: onos
373
374 build-timeout: '1800'
375 build-node: 'ubuntu16.04-basebuild-8c-15g'
376
377 stream:
378 - 'master'
Ray Milkey1bc13772017-10-31 15:57:17 -0700379 - 'onos-1.10'
380 - 'onos-1.11'
Ray Milkey47d4f722017-11-21 09:36:37 -0800381 - 'onos-1.12'
Brian O'Connor9fbe7722017-10-27 12:44:04 -0700382
383 jobs:
384 - '{project-name}-{stream}-verify'
Yuta HIGUCHI02e46d32017-10-31 10:17:47 -0700385
386- project:
Ray Milkey83d912a2017-11-01 13:49:31 -0700387 name: onos-gui
388 project-name: onos-gui
Ray Milkey24fe1ee2017-11-01 13:59:07 -0700389 project: onos
Ray Milkey83d912a2017-11-01 13:49:31 -0700390
391 build-timeout: '1800'
392 build-node: 'ubuntu16.04-basebuild-8c-15g'
393
394 stream:
395 - 'master'
396 - 'onos-1.10'
397 - 'onos-1.11'
Ray Milkey47d4f722017-11-21 09:36:37 -0800398 - 'onos-1.12'
Ray Milkey83d912a2017-11-01 13:49:31 -0700399
400 jobs:
401 - 'onos-gui-{stream}-verify'
402
403- project:
Yuta HIGUCHI02e46d32017-10-31 10:17:47 -0700404 name: onos-yang-tools
405 project-name: onos-yang-tools
406 project: onos-yang-tools
407
408 build-timeout: '1800'
409 build-node: 'ubuntu16.04-basebuild-8c-15g'
410
411 stream:
412 - 'master'
413
414 jobs:
415 - 'onos-yang-tools-{stream}-verify'
Ray Milkey8e462202017-11-02 10:18:37 -0700416
417- project:
Yuta HIGUCHI28821fd2017-11-17 16:11:19 -0800418 name: onos-app-samples
419 project-name: onos-app-samples
420 project: onos-app-samples
421
422 build-timeout: '1800'
423 build-node: 'ubuntu16.04-basebuild-8c-15g'
424
425 stream:
426 - 'master'
427
428 jobs:
429 - 'onos-app-samples-{stream}-verify'
430
Yuta HIGUCHI1ac83232017-11-17 16:37:57 -0800431- project:
432 name: onos-loxi
433 project-name: onos-loxi
434 project: onos-loxi
Yuta HIGUCHI28821fd2017-11-17 16:11:19 -0800435
Yuta HIGUCHI1ac83232017-11-17 16:37:57 -0800436 build-timeout: '1800'
437 build-node: 'ubuntu16.04-basebuild-8c-15g'
438
439 stream:
440 - 'master'
441
442 jobs:
443 - 'onos-loxi-{stream}-verify'
Yuta HIGUCHI28821fd2017-11-17 16:11:19 -0800444
445- project:
Ray Milkey8e462202017-11-02 10:18:37 -0700446 name: onos-release
447 project-name: onos-release
448 project: onos
449
450 build-timeout: '1800'
451 build-node: 'ubuntu16.04-basebuild-8c-15g'
452
453 stream:
454 - 'master'
455
456 jobs:
457 - 'onos-{stream}-release-build-verify'
Ray Milkeyd9f73662017-11-06 10:29:51 -0800458
459- project:
460 name: onos-maven-verify
461 project-name: onos-maven-verify
462 project: onos
463
464 build-timeout: '1800'
465 build-node: 'ubuntu16.04-basebuild-8c-15g'
466
467 stream:
468 - 'master'
469
470 jobs:
471 - 'onos-{stream}-maven-verify'
Ray Milkey20d22522017-11-08 10:55:52 -0800472
473- project:
474 name: onos-sonar
475 project-name: onos-sonar
476 project: onos
477
478 build-timeout: '1800'
479 build-node: 'ubuntu16.04-basebuild-8c-15g'
480
481 stream:
482 - 'master'
483
484 jobs:
485 - 'onos-{stream}-sonar'
486
Ray Milkey2afc4a52017-11-17 11:01:38 -0800487- project:
488 name: onos-release-build
489 project-name: onos-release-build
490 project: onos
491
492 build-timeout: '1800'
493 build-node: 'ubuntu16.04-basebuild-8c-15g'
494
Ray Milkey4309d9b2017-11-17 13:41:46 -0800495 stream: 'master'
Ray Milkey2afc4a52017-11-17 11:01:38 -0800496
497 jobs:
498 - 'onos-release-build'
Ray Milkey0caba7f2018-01-08 12:56:18 -0800499
500- project:
501 name: onos-docker-build
502 project-name: onos-docker-build
503 project: onos
504
505 build-timeout: '1800'
506 build-node: 'ubuntu16.04-basebuild-8c-15g'
507
508 stream: 'master'
509
510 jobs:
511 - 'onos-docker-build'