hicn.yaml revision 8c1811b3
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'
332      - config-file-provider:
333          files:
334            - file-id: 'packagecloud_api'
335              target: '/root'
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
636