343327272239e038de651c74fd5dcba7c14bdf78
[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: ubuntu1804
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       - fdio-infra-shiplogs:
160           maven-version: 'mvn36'
161       - naginator:
162           rerun-unstable-builds: true
163           max-failed-builds: 1
164           fixed-delay: 90
165
166 - job-template:
167     name: 'hicn-verify-{stream}-{os}'
168
169     project-type: freestyle
170     node: '{os}-us'
171     concurrent: true
172
173     build-discarder:
174       daysToKeep: '{build-days-to-keep}'
175       numToKeep: 100
176       artifactDaysToKeep: '{build-artifact-days-to-keep}'
177       artifactNumToKeep: '{build-artifact-num-to-keep}'
178
179     parameters:
180       - project-parameter:
181           project: '{project}'
182       - gerrit-parameter:
183           branch: '{branch}'
184       - os-parameter:
185           os: '{os}'
186       - repo-name-parameter:
187           repo-name: '{repo-stream-part}.{repo-os-part}'
188       - stream-parameter:
189           stream: '{stream}'
190       - string:
191           name: ARCHIVE_ARTIFACTS
192           default: '{archive-artifacts}'
193           description: Artifacts to archive to the logs server.
194
195     scm:
196       - gerrit-trigger-scm:
197           credentials-id: 'jenkins-gerrit-credentials'
198           refspec: '$GERRIT_REFSPEC'
199           choosing-strategy: 'gerrit'
200
201     wrappers:
202       - fdio-infra-wrappers:
203           build-timeout: 120
204
205     triggers:
206       - gerrit-trigger-checkstyle:
207           name: '{project}'
208           branch: '{branch}'
209
210     builders:
211       - shell:
212           !include-raw-escape:
213           - include-raw-hicn-build.sh
214
215     publishers:
216       - fdio-infra-shiplogs:
217           maven-version: 'mvn36'
218       - naginator:
219           rerun-unstable-builds: false
220           max-failed-builds: 2
221           fixed-delay: 90
222
223 - job-template:
224     name: 'hicn-arm-verify-{stream}-{os}'
225
226     project-type: freestyle
227     node: '{os}arm-us'
228     concurrent: true
229
230     build-discarder:
231       daysToKeep: '{build-days-to-keep}'
232       numToKeep: 100
233       artifactDaysToKeep: '{build-artifact-days-to-keep}'
234       artifactNumToKeep: '{build-artifact-num-to-keep}'
235
236     parameters:
237       - project-parameter:
238           project: '{project}'
239       - gerrit-parameter:
240           branch: '{branch}'
241       - os-parameter:
242           os: '{os}'
243       - repo-name-parameter:
244           repo-name: '{repo-stream-part}.{repo-os-part}'
245       - stream-parameter:
246           stream: '{stream}'
247       - string:
248           name: ARCHIVE_ARTIFACTS
249           default: '{archive-artifacts}'
250           description: Artifacts to archive to the logs server.
251
252     scm:
253       - gerrit-trigger-scm:
254           credentials-id: 'jenkins-gerrit-credentials'
255           refspec: '$GERRIT_REFSPEC'
256           choosing-strategy: 'gerrit'
257
258     wrappers:
259       - fdio-infra-wrappers:
260           build-timeout: 120
261
262     triggers:
263       - gerrit-trigger-checkstyle:
264           name: '{project}'
265           branch: '{branch}'
266
267     builders:
268       - shell:
269           !include-raw-escape:
270           - include-raw-hicn-build.sh
271
272     publishers:
273       - fdio-infra-shiplogs:
274           maven-version: 'mvn36'
275       - naginator:
276           rerun-unstable-builds: false
277           max-failed-builds: 1
278           fixed-delay: 90
279
280 - job-template:
281     name: 'hicn-merge-{stream}-{os}'
282
283     project-type: freestyle
284     node: '{os}-us'
285
286     build-discarder:
287       daysToKeep: '{build-days-to-keep}'
288       numToKeep: 100
289       artifactDaysToKeep: '{build-artifact-days-to-keep}'
290       artifactNumToKeep: '{build-artifact-num-to-keep}'
291
292     parameters:
293       - project-parameter:
294           project: '{project}'
295       - gerrit-parameter:
296           branch: '{branch}'
297       - os-parameter:
298           os: '{os}'
299       - maven-project-parameter:
300           maven: 'mvn33-new'
301       - maven-exec:
302           maven-version: 'mvn33-new'
303       - stream-parameter:
304           stream: 'release'
305       - repo-name-parameter:
306           repo-name: '{repo-stream-part}.{repo-os-part}'
307       - string:
308           name: ARCHIVE_ARTIFACTS
309           default: '{archive-artifacts}'
310           description: Artifacts to archive to the logs server.
311
312     scm:
313       - gerrit-trigger-scm:
314           credentials-id: 'jenkins-gerrit-credentials'
315           refspec: ''
316           choosing-strategy: 'default'
317
318     wrappers:
319       - fdio-infra-wrappers:
320           build-timeout: '{build-timeout}'
321
322     triggers:
323       - gerrit-trigger-patch-merged:
324           name: '{project}'
325           branch: '{branch}'
326
327     builders:
328       - config-file-provider:
329           files:
330             - file-id: '.packagecloud'
331               target: '/root/.packagecloud'
332       - config-file-provider:
333           files:
334             - file-id: 'packagecloud_api'
335               target: '/root/packagecloud_api'
336       - maven-target:
337           maven-version: 'mvn33-new'
338           goals: '--version'
339           settings: 'hicn-settings'
340           settings-type: cfp
341           global-settings: 'global-settings'
342           global-settings-type: cfp
343       - shell:
344           !include-raw-escape:
345           - include-raw-hicn-checkstyle.sh
346       - shell:
347           !include-raw-escape:
348           - include-raw-hicn-build.sh
349       - provide-maven-settings:
350           settings-file: 'hicn-settings'
351           global-settings-file: 'global-settings'
352       - shell:
353           !include-raw-escape:
354           - ../scripts/packagecloud_push.sh
355       - shell:
356           !include-raw-escape:
357           - ../scripts/maven_push_functions.sh
358           - include-raw-hicn-maven-push.sh
359
360     publishers:
361       - fdio-infra-shiplogs:
362           maven-version: 'mvn36'
363       - naginator:
364           rerun-unstable-builds: false
365           max-failed-builds: 1
366           fixed-delay: 90
367
368 - job-template:
369     name: 'hicn-arm-merge-{stream}-{os}'
370
371     project-type: freestyle
372     node: '{os}arm-us'
373
374     build-discarder:
375       daysToKeep: '{build-days-to-keep}'
376       numToKeep: 100
377       artifactDaysToKeep: '{build-artifact-days-to-keep}'
378       artifactNumToKeep: '{build-artifact-num-to-keep}'
379
380     parameters:
381       - project-parameter:
382           project: '{project}'
383       - gerrit-parameter:
384           branch: '{branch}'
385       - os-parameter:
386           os: '{os}'
387       - maven-project-parameter:
388           maven: 'mvn33-new'
389       - maven-exec:
390           maven-version: 'mvn33-new'
391       - stream-parameter:
392           stream: 'release'
393       - repo-name-parameter:
394           repo-name: '{repo-stream-part}.{repo-os-part}'
395       - string:
396           name: ARCHIVE_ARTIFACTS
397           default: '{archive-artifacts}'
398           description: Artifacts to archive to the logs server.
399
400     scm:
401       - gerrit-trigger-scm:
402           credentials-id: 'jenkins-gerrit-credentials'
403           refspec: ''
404           choosing-strategy: 'default'
405
406     wrappers:
407       - fdio-infra-wrappers:
408           build-timeout: '{build-timeout}'
409
410     triggers:
411       - gerrit-trigger-patch-merged:
412           name: '{project}'
413           branch: '{branch}'
414
415     builders:
416       - config-file-provider:
417           files:
418             - file-id: '.packagecloud'
419               target: '/root'
420       - config-file-provider:
421           files:
422             - file-id: 'packagecloud_api'
423               target: '/root'
424       - maven-target:
425           maven-version: 'mvn33-new'
426           goals: '--version'
427           settings: 'hicn-settings'
428           settings-type: cfp
429           global-settings: 'global-settings'
430           global-settings-type: cfp
431       - shell:
432           !include-raw-escape:
433           - include-raw-hicn-checkstyle.sh
434       - shell:
435           !include-raw-escape:
436           - include-raw-hicn-build.sh
437       - provide-maven-settings:
438           settings-file: 'hicn-settings'
439           global-settings-file: 'global-settings'
440       - shell:
441           !include-raw-escape:
442           - ../scripts/packagecloud_push.sh
443       - shell:
444           !include-raw-escape:
445           - ../scripts/maven_push_functions.sh
446           - include-raw-hicn-maven-push.sh
447
448     publishers:
449       - fdio-infra-shiplogs:
450           maven-version: 'mvn36'
451       - naginator:
452           rerun-unstable-builds: false
453           max-failed-builds: 1
454           fixed-delay: 90
455
456 - project:
457     name: hicn-sonar
458     project: hicn
459     project-name: hicn
460     mvn-settings: hicn-settings
461     mvn-version: 'mvn33-new'
462     branch: master
463     build-node: ubuntu1604-basebuild-4c-4g
464     jobs:
465       - gerrit-maven-sonar
466
467 - job-template:
468     name: 'hicn-sysrepo-plugin-verify-{stream}'
469
470     project-type: freestyle
471     node: '{os}-us'
472     concurrent: true
473
474     build-discarder:
475       daysToKeep: '{build-days-to-keep}'
476       numToKeep: 100
477       artifactDaysToKeep: '{build-artifact-days-to-keep}'
478       artifactNumToKeep: '{build-artifact-num-to-keep}'
479
480     parameters:
481       - project-parameter:
482           project: '{project}'
483       - gerrit-parameter:
484           branch: '{branch}'
485       - os-parameter:
486           os: '{os}'
487       - repo-name-parameter:
488           repo-name: '{repo-stream-part}.ubuntu.bionic.main'
489       - stream-parameter:
490           stream: '{stream}'
491       - string:
492           name: ARCHIVE_ARTIFACTS
493           default: '{archive-artifacts}'
494           description: Artifacts to archive to the logs server.
495
496     scm:
497       - gerrit-trigger-scm:
498           credentials-id: 'jenkins-gerrit-credentials'
499           refspec: '$GERRIT_REFSPEC'
500           choosing-strategy: 'gerrit'
501
502     wrappers:
503       - fdio-infra-wrappers:
504           build-timeout: 120
505
506     triggers:
507       - gerrit:
508           server-name: 'Primary'
509           trigger-on:
510             - comment-added-contains-event:
511                 comment-contains-value: 'verify_sysrepo'
512           projects:
513             - project-compare-type: 'ANT'
514               project-pattern: '{project}'
515               branches:
516                 - branch-compare-type: 'ANT'
517                   branch-pattern: '**/{branch}'
518
519     builders:
520       - shell:
521           !include-raw-escape:
522           - include-raw-hicn-sysrepo-build.sh
523
524     publishers:
525       - fdio-infra-shiplogs:
526           maven-version: 'mvn36'
527       - naginator:
528           rerun-unstable-builds: false
529           max-failed-builds: 2
530           fixed-delay: 90
531
532 - job-template:
533     name: 'hicn-sysrepo-plugin-merge-{stream}'
534
535     project-type: freestyle
536     node: '{os}-us'
537
538     build-discarder:
539       daysToKeep: '{build-days-to-keep}'
540       numToKeep: 100
541       artifactDaysToKeep: '{build-artifact-days-to-keep}'
542       artifactNumToKeep: '{build-artifact-num-to-keep}'
543
544     parameters:
545       - project-parameter:
546           project: '{project}'
547       - gerrit-parameter:
548           branch: '{branch}'
549       - os-parameter:
550           os: '{os}'
551       - maven-project-parameter:
552           maven: 'mvn33-new'
553       - maven-exec:
554           maven-version: 'mvn33-new'
555       - stream-parameter:
556           stream: 'release'
557       - repo-name-parameter:
558           repo-name: '{repo-stream-part}.ubuntu.bionic.main'
559       - string:
560           name: ARCHIVE_ARTIFACTS
561           default: '{archive-artifacts}'
562           description: Artifacts to archive to the logs server.
563
564     scm:
565       - gerrit-trigger-scm:
566           credentials-id: 'jenkins-gerrit-credentials'
567           refspec: ''
568           choosing-strategy: 'default'
569
570     wrappers:
571       - fdio-infra-wrappers:
572           build-timeout: '{build-timeout}'
573
574     triggers:
575       - gerrit:
576           server-name: 'Primary'
577           trigger-on:
578             - comment-added-contains-event:
579                 comment-contains-value: 'merge_sysrepo'
580           projects:
581             - project-compare-type: 'ANT'
582               project-pattern: '{project}'
583               branches:
584                 - branch-compare-type: 'ANT'
585                   branch-pattern: '**/{branch}'
586
587     builders:
588       - config-file-provider:
589           files:
590             - file-id: '.packagecloud'
591               target: '/root'
592       - config-file-provider:
593           files:
594             - file-id: 'packagecloud_api'
595               target: '/root'
596       - maven-target:
597           maven-version: 'mvn33-new'
598           goals: '--version'
599           settings: 'hicn-settings'
600           settings-type: cfp
601           global-settings: 'global-settings'
602           global-settings-type: cfp
603       - shell:
604           !include-raw-escape:
605           - include-raw-hicn-checkstyle.sh
606       - shell:
607           !include-raw-escape:
608           - include-raw-hicn-sysrepo-build.sh
609       - provide-maven-settings:
610           settings-file: 'hicn-settings'
611           global-settings-file: 'global-settings'
612       - shell:
613           !include-raw-escape:
614           - ../scripts/packagecloud_push.sh
615       - shell:
616           !include-raw-escape:
617           - ../scripts/maven_push_functions.sh
618           - include-raw-hicn-maven-push.sh
619
620     publishers:
621       - fdio-infra-shiplogs:
622           maven-version: 'mvn36'
623       - naginator:
624           rerun-unstable-builds: false
625           max-failed-builds: 1
626           fixed-delay: 90
627
628 - project:
629     name: hicn-info
630     project-name: hicn
631     jobs:
632       - gerrit-info-yaml-verify
633     build-node: centos7-builder-4c-4g
634     project: hicn
635     branch: master