Separate VPP stacktrace generation from artifact archiving
[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       - 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           - ../scripts/setup_executor_env.sh
290       - shell: !include-raw-escape:
291           - include-raw-hicn-checkstyle.sh
292
293     publishers:
294       - fdio-infra-publish
295       - naginator:
296           rerun-unstable-builds: true
297           max-failed-builds: 1
298           fixed-delay: 90
299
300 - job-template:
301     name: "hicn-verify-{stream}-{os}-{executor-arch}"
302
303     project-type: freestyle
304     node: "builder-{os}-prod-{executor-arch}"
305     concurrent: true
306
307     build-discarder:
308       daysToKeep: "{build-days-to-keep}"
309       numToKeep: 100
310       artifactDaysToKeep: "{build-artifact-days-to-keep}"
311       artifactNumToKeep: "{build-artifact-num-to-keep}"
312
313     parameters:
314       - project-parameter:
315           project: "{project}"
316       - gerrit-parameter:
317           branch: "{branch}"
318       - os-parameter:
319           os: "{os}"
320       - repo-name-parameter:
321           repo-name: "{repo-stream-part}.{repo-os-part}"
322       - stream-parameter:
323           stream: "{stream}"
324       - archive-artifacts-parameter:
325           artifacts: '{archive-artifacts}'
326
327     scm:
328       - gerrit-trigger-scm:
329           credentials-id: "jenkins-gerrit-credentials"
330           refspec: "$GERRIT_REFSPEC"
331           choosing-strategy: "gerrit"
332
333     wrappers:
334       - fdio-infra-wrappers:
335           build-timeout: 120
336
337     triggers:
338       - gerrit-trigger-checkstyle:
339           name: "{project}"
340           branch: "{branch}"
341
342     builders:
343       - shell: !include-raw-escape:
344           - ../scripts/setup_executor_env.sh
345       - shell: !include-raw-escape:
346           - include-raw-hicn-build.sh
347
348     publishers:
349       - fdio-infra-publish
350       - naginator:
351           rerun-unstable-builds: false
352           max-failed-builds: 2
353           fixed-delay: 90
354
355 - job-template:
356     name: "hicn-merge-{stream}-{os}-{executor-arch}"
357
358     project-type: freestyle
359     node: "builder-{os}-prod-{executor-arch}"
360
361     build-discarder:
362       daysToKeep: "{build-days-to-keep}"
363       numToKeep: 100
364       artifactDaysToKeep: "{build-artifact-days-to-keep}"
365       artifactNumToKeep: "{build-artifact-num-to-keep}"
366
367     parameters:
368       - project-parameter:
369           project: "{project}"
370       - gerrit-parameter:
371           branch: "{branch}"
372       - os-parameter:
373           os: "{os}"
374       - maven-project-parameter:
375           maven: "mvn33-new"
376       - maven-exec:
377           maven-version: "mvn33-new"
378       - stream-parameter:
379           stream: "{repository-name}"
380       - repo-name-parameter:
381           repo-name: "{repo-stream-part}.{repo-os-part}"
382       - archive-artifacts-parameter:
383           artifacts: '{archive-artifacts}'
384
385     scm:
386       - gerrit-trigger-scm:
387           credentials-id: "jenkins-gerrit-credentials"
388           refspec: ""
389           choosing-strategy: "default"
390
391     wrappers:
392       - fdio-infra-wrappers:
393           build-timeout: "{build-timeout}"
394
395     triggers:
396       - gerrit-trigger-patch-merged:
397           name: "{project}"
398           branch: "{branch}"
399
400     builders:
401       - config-file-provider:
402           files:
403             - file-id: ".packagecloud"
404               target: "/root/.packagecloud"
405       - config-file-provider:
406           files:
407             - file-id: "packagecloud_api"
408               target: "/root/packagecloud_api"
409       - maven-target:
410           maven-version: "mvn33-new"
411           goals: "--version"
412           settings: "hicn-settings"
413           settings-type: cfp
414           global-settings: "global-settings"
415           global-settings-type: cfp
416       - shell: !include-raw-escape:
417           - ../scripts/setup_executor_env.sh
418       - shell: !include-raw-escape:
419           - include-raw-hicn-checkstyle.sh
420       - shell: !include-raw-escape:
421           - include-raw-hicn-build.sh
422       - provide-maven-settings:
423           settings-file: "hicn-settings"
424           global-settings-file: "global-settings"
425       - shell: !include-raw-escape:
426           - ../scripts/packagecloud_push.sh
427       - shell: !include-raw-escape:
428           - ../scripts/maven_push_functions.sh
429           - include-raw-hicn-maven-push.sh
430
431     publishers:
432       - fdio-infra-publish
433       - naginator:
434           rerun-unstable-builds: false
435           max-failed-builds: 1
436           fixed-delay: 90
437
438 - project:
439     name: hicn-sonar
440     project: hicn
441     project-name: hicn
442     mvn-settings: hicn-settings
443     sonarcloud: true
444     sonarcloud-project-organization: "{sonarcloud_project_organization}"
445     sonarcloud-api-token: "{sonarcloud_api_token}"
446     sonarcloud-project-key: "{sonarcloud_project_organization}_{project-name}"
447     branch: master
448     build-node: centos7-docker-2c-2g
449     jobs:
450       - gerrit-maven-sonar
451
452 - job-template:
453     name: "hicn-extras-verify-{stream}-{os}-{executor-arch}"
454
455     project-type: freestyle
456     node: "builder-{os}-prod-{executor-arch}"
457     concurrent: true
458
459     build-discarder:
460       daysToKeep: "{build-days-to-keep}"
461       numToKeep: 100
462       artifactDaysToKeep: "{build-artifact-days-to-keep}"
463       artifactNumToKeep: "{build-artifact-num-to-keep}"
464
465     parameters:
466       - project-parameter:
467           project: "{project}"
468       - gerrit-parameter:
469           branch: "{branch}"
470       - os-parameter:
471           os: "{os}"
472       - repo-name-parameter:
473           repo-name: "{repo-stream-part}.{repo-os-part}"
474       - stream-parameter:
475           stream: "{stream}"
476       - archive-artifacts-parameter:
477           artifacts: '{archive-artifacts}'
478
479     scm:
480       - gerrit-trigger-scm:
481           credentials-id: "jenkins-gerrit-credentials"
482           refspec: "$GERRIT_REFSPEC"
483           choosing-strategy: "gerrit"
484
485     wrappers:
486       - fdio-infra-wrappers:
487           build-timeout: 120
488
489     triggers:
490       - gerrit:
491           server-name: "Primary"
492           trigger-on:
493             - comment-added-contains-event:
494                 comment-contains-value: "verify-extras"
495           projects:
496             - project-compare-type: "ANT"
497               project-pattern: "{project}"
498               branches:
499                 - branch-compare-type: "ANT"
500                   branch-pattern: "**/{branch}"
501
502     builders:
503       - shell: !include-raw-escape:
504           - ../scripts/setup_executor_env.sh
505       - shell: !include-raw-escape:
506           - include-raw-hicn-extras-build.sh
507
508     publishers:
509       - fdio-infra-publish
510       - naginator:
511           rerun-unstable-builds: false
512           max-failed-builds: 2
513           fixed-delay: 90
514
515 - job-template:
516     name: "hicn-extras-build-{stream}-{os}-{executor-arch}"
517
518     project-type: freestyle
519     node: "builder-{os}-prod-{executor-arch}"
520
521     build-discarder:
522       daysToKeep: "{build-days-to-keep}"
523       numToKeep: 100
524       artifactDaysToKeep: "{build-artifact-days-to-keep}"
525       artifactNumToKeep: "{build-artifact-num-to-keep}"
526
527     parameters:
528       - project-parameter:
529           project: "{project}"
530       - gerrit-parameter:
531           branch: "{branch}"
532       - os-parameter:
533           os: "{os}"
534       - maven-project-parameter:
535           maven: "mvn33-new"
536       - maven-exec:
537           maven-version: "mvn33-new"
538       - stream-parameter:
539           stream: "hicn"
540       - repo-name-parameter:
541           repo-name: "{repo-stream-part}.{repo-os-part}"
542       - archive-artifacts-parameter:
543           artifacts: '{archive-artifacts}'
544
545     scm:
546       - gerrit-trigger-scm:
547           credentials-id: "jenkins-gerrit-credentials"
548           refspec: ""
549           choosing-strategy: "default"
550
551     wrappers:
552       - fdio-infra-wrappers:
553           build-timeout: "{build-timeout}"
554
555     triggers:
556       - gerrit:
557           server-name: "Primary"
558           trigger-on:
559             - comment-added-contains-event:
560                 comment-contains-value: "build-extras"
561           projects:
562             - project-compare-type: "ANT"
563               project-pattern: "{project}"
564               branches:
565                 - branch-compare-type: "ANT"
566                   branch-pattern: "**/{branch}"
567
568     builders:
569       - config-file-provider:
570           files:
571             - file-id: ".packagecloud"
572               target: "/root/.packagecloud"
573       - config-file-provider:
574           files:
575             - file-id: "packagecloud_api"
576               target: "/root/packagecloud_api"
577       - maven-target:
578           maven-version: "mvn33-new"
579           goals: "--version"
580           settings: "hicn-settings"
581           settings-type: cfp
582           global-settings: "global-settings"
583           global-settings-type: cfp
584       - shell: !include-raw-escape:
585           - ../scripts/setup_executor_env.sh
586       - shell: !include-raw-escape:
587           - include-raw-hicn-extras-build.sh
588       - provide-maven-settings:
589           settings-file: "hicn-settings"
590           global-settings-file: "global-settings"
591       - shell: !include-raw-escape:
592           - ../scripts/packagecloud_push.sh
593       - shell: !include-raw-escape:
594           - ../scripts/maven_push_functions.sh
595           - include-raw-hicn-maven-push.sh
596
597     publishers:
598       - fdio-infra-publish
599       - naginator:
600           rerun-unstable-builds: false
601           max-failed-builds: 1
602           fixed-delay: 90
603
604 - project:
605     name: hicn-info
606     project-name: hicn
607     jobs:
608       - gerrit-info-yaml-verify
609     build-node: centos7-builder-2c-2g
610     project: hicn
611     branch: master