blob: e8cd489310e640e30fe9925351317bf8cad7a608 [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 Milkeyd9f73662017-11-06 10:29:51 -0800305 name: 'onos-{stream}-maven-verify'
306
307 <<: *job_boiler_plate
308 # yamllint disable-line rule:key-duplicates
Ray Milkey4502aae2017-11-06 13:02:45 -0800309 <<: *hourly_boiler_plate
Ray Milkeyd9f73662017-11-06 10:29:51 -0800310
311 builders:
312 #put shell scripts in file then make sure shell check is installed on verify vms
313 - shell: !include-raw-escape: onos-maven-verify.sh
314 # JJB 1.6.2 does not support parameter expansion on filename?
315 #- shell: !include-raw-escape: {project-name}-verify.sh
Brian O'Connor9fbe7722017-10-27 12:44:04 -0700316
Ray Milkey20d22522017-11-08 10:55:52 -0800317- job-template:
318 #default name is global
319 name: 'onos-{stream}-sonar'
320
321 <<: *job_boiler_plate
322 # yamllint disable-line rule:key-duplicates
323 <<: *daily_boiler_plate
324
325 builders:
326 #put shell scripts in file then make sure shell check is installed on verify vms
327 - shell: !include-raw-escape: onos-sonar.sh
328 # JJB 1.6.2 does not support parameter expansion on filename?
329 #- shell: !include-raw-escape: {project-name}-verify.sh
330
Brian O'Connor9fbe7722017-10-27 12:44:04 -0700331- project:
332 name: onos
333 project-name: onos
334 project: onos
335
336 build-timeout: '1800'
337 build-node: 'ubuntu16.04-basebuild-8c-15g'
338
339 stream:
340 - 'master'
Ray Milkey1bc13772017-10-31 15:57:17 -0700341 - 'onos-1.10'
342 - 'onos-1.11'
Ray Milkey47d4f722017-11-21 09:36:37 -0800343 - 'onos-1.12'
Brian O'Connor9fbe7722017-10-27 12:44:04 -0700344
345 jobs:
346 - '{project-name}-{stream}-verify'
Yuta HIGUCHI02e46d32017-10-31 10:17:47 -0700347
348- project:
Ray Milkey83d912a2017-11-01 13:49:31 -0700349 name: onos-gui
350 project-name: onos-gui
Ray Milkey24fe1ee2017-11-01 13:59:07 -0700351 project: onos
Ray Milkey83d912a2017-11-01 13:49:31 -0700352
353 build-timeout: '1800'
354 build-node: 'ubuntu16.04-basebuild-8c-15g'
355
356 stream:
357 - 'master'
358 - 'onos-1.10'
359 - 'onos-1.11'
Ray Milkey47d4f722017-11-21 09:36:37 -0800360 - 'onos-1.12'
Ray Milkey83d912a2017-11-01 13:49:31 -0700361
362 jobs:
363 - 'onos-gui-{stream}-verify'
364
365- project:
Yuta HIGUCHI02e46d32017-10-31 10:17:47 -0700366 name: onos-yang-tools
367 project-name: onos-yang-tools
368 project: onos-yang-tools
369
370 build-timeout: '1800'
371 build-node: 'ubuntu16.04-basebuild-8c-15g'
372
373 stream:
374 - 'master'
375
376 jobs:
377 - 'onos-yang-tools-{stream}-verify'
Ray Milkey8e462202017-11-02 10:18:37 -0700378
379- project:
Yuta HIGUCHI28821fd2017-11-17 16:11:19 -0800380 name: onos-app-samples
381 project-name: onos-app-samples
382 project: onos-app-samples
383
384 build-timeout: '1800'
385 build-node: 'ubuntu16.04-basebuild-8c-15g'
386
387 stream:
388 - 'master'
389
390 jobs:
391 - 'onos-app-samples-{stream}-verify'
392
Yuta HIGUCHI1ac83232017-11-17 16:37:57 -0800393- project:
394 name: onos-loxi
395 project-name: onos-loxi
396 project: onos-loxi
Yuta HIGUCHI28821fd2017-11-17 16:11:19 -0800397
Yuta HIGUCHI1ac83232017-11-17 16:37:57 -0800398 build-timeout: '1800'
399 build-node: 'ubuntu16.04-basebuild-8c-15g'
400
401 stream:
402 - 'master'
403
404 jobs:
405 - 'onos-loxi-{stream}-verify'
Yuta HIGUCHI28821fd2017-11-17 16:11:19 -0800406
407- project:
Ray Milkey8e462202017-11-02 10:18:37 -0700408 name: onos-release
409 project-name: onos-release
410 project: onos
411
412 build-timeout: '1800'
413 build-node: 'ubuntu16.04-basebuild-8c-15g'
414
415 stream:
416 - 'master'
417
418 jobs:
419 - 'onos-{stream}-release-build-verify'
Ray Milkeyd9f73662017-11-06 10:29:51 -0800420
421- project:
422 name: onos-maven-verify
423 project-name: onos-maven-verify
424 project: onos
425
426 build-timeout: '1800'
427 build-node: 'ubuntu16.04-basebuild-8c-15g'
428
429 stream:
430 - 'master'
431
432 jobs:
433 - 'onos-{stream}-maven-verify'
Ray Milkey20d22522017-11-08 10:55:52 -0800434
435- project:
436 name: onos-sonar
437 project-name: onos-sonar
438 project: onos
439
440 build-timeout: '1800'
441 build-node: 'ubuntu16.04-basebuild-8c-15g'
442
443 stream:
444 - 'master'
445
446 jobs:
447 - 'onos-{stream}-sonar'
448
Ray Milkey2afc4a52017-11-17 11:01:38 -0800449- project:
450 name: onos-release-build
451 project-name: onos-release-build
452 project: onos
453
454 build-timeout: '1800'
455 build-node: 'ubuntu16.04-basebuild-8c-15g'
456
Ray Milkey4309d9b2017-11-17 13:41:46 -0800457 stream: 'master'
Ray Milkey2afc4a52017-11-17 11:01:38 -0800458
459 jobs:
460 - 'onos-release-build'