Merge "Do not skip commit-message-only checkstyle"
[ci-management.git] / jjb / hicn / hicn.yaml
1 ---
2 - project:
3     name: hicn
4     jobs:
5       - 'hicn-verify-{stream}-{os}'
6       - 'hicn-merge-{stream}-{os}'
7
8     project: 'hicn'
9     os:
10       - ubuntu1804:
11           repo-os-part: 'ubuntu.bionic.main'
12       - ubuntu1604:
13           repo-os-part: 'ubuntu.xenial.main'
14       - centos7:
15           repo-os-part: 'centos7'
16
17     stream:
18       - master:
19           branch: 'master'
20           repo-stream-part: 'master'
21
22     type:
23       - short
24       - long
25
26 - project:
27     name: hicn-arm
28     jobs:
29       - 'hicn-arm-verify-{stream}-{os}'
30       - 'hicn-arm-merge-{stream}-{os}'
31
32     project: 'hicn'
33     os:
34       - ubuntu1804:
35           repo-os-part: 'ubuntu-arm.bionic.main'
36
37     stream:
38       - master:
39           branch: 'master'
40           repo-stream-part: 'master'
41
42     type:
43       - short
44       - long
45
46 - project:
47     name: hicn-misc
48     jobs:
49       - 'hicn-checkstyle-verify-{stream}'
50     project: 'hicn'
51     stream:
52       - master:
53           branch: 'master'
54           repo-stream-part: 'master'
55     os: ubuntu1604
56
57 - project:
58     name: hicn-sysrepo
59     jobs:
60       - 'hicn-sysrepo-plugin-verify-{stream}'
61       - 'hicn-sysrepo-plugin-merge-{stream}'
62     project: 'hicn'
63     stream:
64       - master:
65           branch: 'master'
66           repo-stream-part: 'master'
67     os: ubuntu1804
68
69 - project:
70     name: hicn-view
71     views:
72       - project-view
73     project-name: hicn
74
75 - job-template:
76     name: 'hicn-checkstyle-verify-{stream}'
77
78     project-type: freestyle
79     node: '{os}-us'
80     concurrent: true
81     archive-artifacts: '**/tmp/hicn-failed-unittests/*/* **/core'
82
83     build-discarder:
84       daysToKeep: '{build-days-to-keep}'
85       numToKeep: '{build-num-to-keep}'
86       artifactDaysToKeep: '{build-artifact-days-to-keep}'
87       artifactNumToKeep: '{build-artifact-num-to-keep}'
88
89     parameters:
90       - project-parameter:
91           project: '{project}'
92       - gerrit-parameter:
93           branch: '{branch}'
94       - os-parameter:
95           os: '{os}'
96       - repo-name-parameter:
97           repo-name: '{repo-stream-part}.ubuntu.xenial.main'
98       - string:
99           name: ARCHIVE_ARTIFACTS
100           default: '{archive-artifacts}'
101           description: Artifacts to archive to the logs server.
102
103     scm:
104       - gerrit-trigger-scm:
105           credentials-id: 'jenkins-gerrit-credentials'
106           refspec: '$GERRIT_REFSPEC'
107           choosing-strategy: 'gerrit'
108
109     wrappers:
110       - fdio-infra-wrappers:
111           build-timeout: '{build-timeout}'
112
113     triggers:
114       - gerrit:
115           server-name: 'Primary'
116           trigger-on:
117             - patchset-created-event:
118                 exclude-drafts: 'true'
119                 exclude-trivial-rebase: 'false'
120                 exclude-no-code-change: 'true'
121             - draft-published-event
122             - comment-added-contains-event:
123                 comment-contains-value: 'checkstylecheck'
124             - comment-added-contains-event:
125                 comment-contains-value: 'docsonly'
126             - comment-added-contains-event:
127                 comment-contains-value: 'recheck'
128             - comment-added-contains-event:
129                 comment-contains-value: 'reverify'
130           projects:
131             - project-compare-type: 'ANT'
132               project-pattern: '{project}'
133               branches:
134                 - branch-compare-type: 'ANT'
135                   branch-pattern: '**/{branch}'
136               file-paths:
137                 - compare-type: REG_EXP
138                   pattern: ^((?!\/COMMIT_MSG|docs|_abc|_def[\/\.]).)*$
139               disable-strict-forbidden-file-verification: 'true'
140           override-votes: true
141           gerrit-build-notbuilt-verified-value: 0
142           gerrit-build-successful-verified-value: 1
143           # yamllint disable-line rule:line-length
144           notbuilt-message: 'Automatic retry of failed jobs may be in process. A proper vote should be set when retry completes.'
145           # yamllint disable-line rule:line-length
146           failed-message: 'Checkstyle failed. No further verify jobs will be started.'
147           successful-message: 'checkstyle_success'
148           skip-vote:
149             successful: true
150             failed: false
151             unstable: false
152             notbuilt: false
153
154     builders:
155       - shell:
156           !include-raw-escape: include-raw-hicn-checkstyle.sh
157
158     publishers:
159       - lf-infra-publish
160       - naginator:
161           rerun-unstable-builds: true
162           max-failed-builds: 1
163           fixed-delay: 90
164
165 - job-template:
166     name: 'hicn-verify-{stream}-{os}'
167
168     project-type: freestyle
169     node: '{os}-us'
170     concurrent: true
171
172     build-discarder:
173       daysToKeep: '{build-days-to-keep}'
174       numToKeep: 100
175       artifactDaysToKeep: '{build-artifact-days-to-keep}'
176       artifactNumToKeep: '{build-artifact-num-to-keep}'
177
178     parameters:
179       - project-parameter:
180           project: '{project}'
181       - gerrit-parameter:
182           branch: '{branch}'
183       - os-parameter:
184           os: '{os}'
185       - repo-name-parameter:
186           repo-name: '{repo-stream-part}.{repo-os-part}'
187       - stream-parameter:
188           stream: '{stream}'
189       - string:
190           name: ARCHIVE_ARTIFACTS
191           default: '{archive-artifacts}'
192           description: Artifacts to archive to the logs server.
193
194     scm:
195       - gerrit-trigger-scm:
196           credentials-id: 'jenkins-gerrit-credentials'
197           refspec: '$GERRIT_REFSPEC'
198           choosing-strategy: 'gerrit'
199
200     wrappers:
201       - fdio-infra-wrappers:
202           build-timeout: 120
203
204     triggers:
205       - gerrit-trigger-checkstyle:
206           name: '{project}'
207           branch: '{branch}'
208
209     builders:
210       - shell:
211           !include-raw-escape:
212           - include-raw-hicn-build.sh
213
214     publishers:
215       - lf-infra-publish
216
217 - job-template:
218     name: 'hicn-arm-verify-{stream}-{os}'
219
220     project-type: freestyle
221     node: '{os}arm-us'
222     concurrent: true
223
224     build-discarder:
225       daysToKeep: '{build-days-to-keep}'
226       numToKeep: 100
227       artifactDaysToKeep: '{build-artifact-days-to-keep}'
228       artifactNumToKeep: '{build-artifact-num-to-keep}'
229
230     parameters:
231       - project-parameter:
232           project: '{project}'
233       - gerrit-parameter:
234           branch: '{branch}'
235       - os-parameter:
236           os: '{os}'
237       - repo-name-parameter:
238           repo-name: '{repo-stream-part}.{repo-os-part}'
239       - stream-parameter:
240           stream: '{stream}'
241       - string:
242           name: ARCHIVE_ARTIFACTS
243           default: '{archive-artifacts}'
244           description: Artifacts to archive to the logs server.
245
246     scm:
247       - gerrit-trigger-scm:
248           credentials-id: 'jenkins-gerrit-credentials'
249           refspec: '$GERRIT_REFSPEC'
250           choosing-strategy: 'gerrit'
251
252     wrappers:
253       - fdio-infra-wrappers:
254           build-timeout: 120
255
256     triggers:
257       - gerrit-trigger-checkstyle:
258           name: '{project}'
259           branch: '{branch}'
260
261     builders:
262       - shell:
263           !include-raw-escape:
264           - include-raw-hicn-build.sh
265
266     publishers:
267       - fdio-infra-shiplogs:
268           maven-version: 'mvn33-new'
269
270 - job-template:
271     name: 'hicn-merge-{stream}-{os}'
272
273     project-type: freestyle
274     node: '{os}-us'
275
276     build-discarder:
277       daysToKeep: '{build-days-to-keep}'
278       numToKeep: 100
279       artifactDaysToKeep: '{build-artifact-days-to-keep}'
280       artifactNumToKeep: '{build-artifact-num-to-keep}'
281
282     parameters:
283       - project-parameter:
284           project: '{project}'
285       - gerrit-parameter:
286           branch: '{branch}'
287       - os-parameter:
288           os: '{os}'
289       - maven-project-parameter:
290           maven: 'mvn33-new'
291       - maven-exec:
292           maven-version: 'mvn33-new'
293       - stream-parameter:
294           stream: 'release'
295       - repo-name-parameter:
296           repo-name: '{repo-stream-part}.{repo-os-part}'
297       - string:
298           name: ARCHIVE_ARTIFACTS
299           default: '{archive-artifacts}'
300           description: Artifacts to archive to the logs server.
301
302     scm:
303       - gerrit-trigger-scm:
304           credentials-id: 'jenkins-gerrit-credentials'
305           refspec: ''
306           choosing-strategy: 'default'
307
308     wrappers:
309       - fdio-infra-wrappers:
310           build-timeout: '{build-timeout}'
311
312     triggers:
313       - gerrit-trigger-patch-merged:
314           name: '{project}'
315           branch: '{branch}'
316
317     builders:
318       - config-file-provider:
319           files:
320             - file-id: '.packagecloud'
321               target: '/root'
322       - config-file-provider:
323           files:
324             - file-id: 'packagecloud_api'
325               target: '/root'
326       - maven-target:
327           maven-version: 'mvn33-new'
328           goals: '--version'
329           settings: 'hicn-settings'
330           settings-type: cfp
331           global-settings: 'global-settings'
332           global-settings-type: cfp
333       - shell:
334           !include-raw-escape:
335           - include-raw-hicn-checkstyle.sh
336       - shell:
337           !include-raw-escape:
338           - include-raw-hicn-build.sh
339       - provide-maven-settings:
340           settings-file: 'hicn-settings'
341           global-settings-file: 'global-settings'
342       - shell:
343           !include-raw-escape:
344           - ../scripts/packagecloud_push.sh
345       - shell:
346           !include-raw-escape:
347           - ../scripts/maven_push_functions.sh
348           - include-raw-hicn-maven-push.sh
349
350     publishers:
351       - lf-infra-publish
352       - naginator:
353           rerun-unstable-builds: false
354           max-failed-builds: 1
355           fixed-delay: 90
356
357 - job-template:
358     name: 'hicn-arm-merge-{stream}-{os}'
359
360     project-type: freestyle
361     node: '{os}arm-us'
362
363     build-discarder:
364       daysToKeep: '{build-days-to-keep}'
365       numToKeep: 100
366       artifactDaysToKeep: '{build-artifact-days-to-keep}'
367       artifactNumToKeep: '{build-artifact-num-to-keep}'
368
369     parameters:
370       - project-parameter:
371           project: '{project}'
372       - gerrit-parameter:
373           branch: '{branch}'
374       - os-parameter:
375           os: '{os}'
376       - maven-project-parameter:
377           maven: 'mvn33-new'
378       - maven-exec:
379           maven-version: 'mvn33-new'
380       - stream-parameter:
381           stream: 'release'
382       - repo-name-parameter:
383           repo-name: '{repo-stream-part}.{repo-os-part}'
384       - string:
385           name: ARCHIVE_ARTIFACTS
386           default: '{archive-artifacts}'
387           description: Artifacts to archive to the logs server.
388
389     scm:
390       - gerrit-trigger-scm:
391           credentials-id: 'jenkins-gerrit-credentials'
392           refspec: ''
393           choosing-strategy: 'default'
394
395     wrappers:
396       - fdio-infra-wrappers:
397           build-timeout: '{build-timeout}'
398
399     triggers:
400       - gerrit-trigger-patch-merged:
401           name: '{project}'
402           branch: '{branch}'
403
404     builders:
405       - config-file-provider:
406           files:
407             - file-id: '.packagecloud'
408               target: '/root'
409       - config-file-provider:
410           files:
411             - file-id: 'packagecloud_api'
412               target: '/root'
413       - maven-target:
414           maven-version: 'mvn33-new'
415           goals: '--version'
416           settings: 'hicn-settings'
417           settings-type: cfp
418           global-settings: 'global-settings'
419           global-settings-type: cfp
420       - shell:
421           !include-raw-escape:
422           - include-raw-hicn-checkstyle.sh
423       - shell:
424           !include-raw-escape:
425           - include-raw-hicn-build.sh
426       - provide-maven-settings:
427           settings-file: 'hicn-settings'
428           global-settings-file: 'global-settings'
429       - shell:
430           !include-raw-escape:
431           - ../scripts/packagecloud_push.sh
432       - shell:
433           !include-raw-escape:
434           - ../scripts/maven_push_functions.sh
435           - include-raw-hicn-maven-push.sh
436
437     publishers:
438       - fdio-infra-shiplogs:
439           maven-version: 'mvn33-new'
440       - naginator:
441           rerun-unstable-builds: false
442           max-failed-builds: 1
443           fixed-delay: 90
444
445 - project:
446     name: hicn-sonar
447     project: hicn
448     project-name: hicn
449     mvn-settings: hicn-settings
450     mvn-version: 'mvn33-new'
451     branch: master
452     build-node: ubuntu1604-basebuild-4c-4g
453     jobs:
454       - gerrit-maven-sonar
455
456 - job-template:
457     name: 'hicn-sysrepo-plugin-verify-{stream}'
458
459     project-type: freestyle
460     node: '{os}-us'
461     concurrent: true
462
463     build-discarder:
464       daysToKeep: '{build-days-to-keep}'
465       numToKeep: 100
466       artifactDaysToKeep: '{build-artifact-days-to-keep}'
467       artifactNumToKeep: '{build-artifact-num-to-keep}'
468
469     parameters:
470       - project-parameter:
471           project: '{project}'
472       - gerrit-parameter:
473           branch: '{branch}'
474       - os-parameter:
475           os: '{os}'
476       - repo-name-parameter:
477           repo-name: '{repo-stream-part}.ubuntu.bionic.main'
478       - stream-parameter:
479           stream: '{stream}'
480       - string:
481           name: ARCHIVE_ARTIFACTS
482           default: '{archive-artifacts}'
483           description: Artifacts to archive to the logs server.
484
485     scm:
486       - gerrit-trigger-scm:
487           credentials-id: 'jenkins-gerrit-credentials'
488           refspec: '$GERRIT_REFSPEC'
489           choosing-strategy: 'gerrit'
490
491     wrappers:
492       - fdio-infra-wrappers:
493           build-timeout: 120
494
495     triggers:
496       - gerrit:
497           server-name: 'Primary'
498           trigger-on:
499             - comment-added-contains-event:
500                 comment-contains-value: 'verify_sysrepo'
501           projects:
502             - project-compare-type: 'ANT'
503               project-pattern: '{project}'
504               branches:
505                 - branch-compare-type: 'ANT'
506                   branch-pattern: '**/{branch}'
507
508     builders:
509       - shell:
510           !include-raw-escape:
511           - include-raw-hicn-sysrepo-build.sh
512
513     publishers:
514       - lf-infra-publish
515
516 - job-template:
517     name: 'hicn-sysrepo-plugin-merge-{stream}'
518
519     project-type: freestyle
520     node: '{os}-us'
521
522     build-discarder:
523       daysToKeep: '{build-days-to-keep}'
524       numToKeep: 100
525       artifactDaysToKeep: '{build-artifact-days-to-keep}'
526       artifactNumToKeep: '{build-artifact-num-to-keep}'
527
528     parameters:
529       - project-parameter:
530           project: '{project}'
531       - gerrit-parameter:
532           branch: '{branch}'
533       - os-parameter:
534           os: '{os}'
535       - maven-project-parameter:
536           maven: 'mvn33-new'
537       - maven-exec:
538           maven-version: 'mvn33-new'
539       - stream-parameter:
540           stream: 'release'
541       - repo-name-parameter:
542           repo-name: '{repo-stream-part}.ubuntu.bionic.main'
543       - string:
544           name: ARCHIVE_ARTIFACTS
545           default: '{archive-artifacts}'
546           description: Artifacts to archive to the logs server.
547
548     scm:
549       - gerrit-trigger-scm:
550           credentials-id: 'jenkins-gerrit-credentials'
551           refspec: ''
552           choosing-strategy: 'default'
553
554     wrappers:
555       - fdio-infra-wrappers:
556           build-timeout: '{build-timeout}'
557
558     triggers:
559       - gerrit:
560           server-name: 'Primary'
561           trigger-on:
562             - comment-added-contains-event:
563                 comment-contains-value: 'merge_sysrepo'
564           projects:
565             - project-compare-type: 'ANT'
566               project-pattern: '{project}'
567               branches:
568                 - branch-compare-type: 'ANT'
569                   branch-pattern: '**/{branch}'
570
571     builders:
572       - config-file-provider:
573           files:
574             - file-id: '.packagecloud'
575               target: '/root'
576       - config-file-provider:
577           files:
578             - file-id: 'packagecloud_api'
579               target: '/root'
580       - maven-target:
581           maven-version: 'mvn33-new'
582           goals: '--version'
583           settings: 'hicn-settings'
584           settings-type: cfp
585           global-settings: 'global-settings'
586           global-settings-type: cfp
587       - shell:
588           !include-raw-escape:
589           - include-raw-hicn-checkstyle.sh
590       - shell:
591           !include-raw-escape:
592           - include-raw-hicn-sysrepo-build.sh
593       - provide-maven-settings:
594           settings-file: 'hicn-settings'
595           global-settings-file: 'global-settings'
596       - shell:
597           !include-raw-escape:
598           - ../scripts/packagecloud_push.sh
599       - shell:
600           !include-raw-escape:
601           - ../scripts/maven_push_functions.sh
602           - include-raw-hicn-maven-push.sh
603
604     publishers:
605       - lf-infra-publish
606       - naginator:
607           rerun-unstable-builds: false
608           max-failed-builds: 1
609           fixed-delay: 90
610
611 - project:
612     name: hicn-info
613     project-name: hicn
614     jobs:
615       - gerrit-info-yaml-verify
616     build-node: centos7-builder-4c-4g
617     project: hicn
618     branch: master