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