Merge "Set settings to hicn-settings."
[ci-management.git] / jjb / hc2vpp / hc2vpp.yaml
1 ---
2 - project:
3     name: hc2vpp
4     jobs:
5       - 'hc2vpp-verify-{stream}-{os}'
6       - 'hc2vpp-merge-{stream}-{os}'
7       - 'hc2vpp-integration-{stream}-{os}'
8       - 'hc2vpp-verify-image-{stream}-{os}'
9     project: 'hc2vpp'
10     os:
11       - ubuntu1604:
12           repo-os-part: 'ubuntu.xenial.main'
13           skip-site: 'false'
14           skip-jar-deploy: 'false'
15       - centos7:
16           repo-os-part: 'centos7'
17           skip-site: 'true'
18           skip-jar-deploy: 'true'
19     stream:
20       - master:
21           branch: 'master'
22           repo-stream-part: 'master'
23       - '1804':
24           branch: 'stable/1804'
25           repo-stream-part: 'stable.1804'
26       - '1807':
27           branch: 'stable/1807'
28           repo-stream-part: 'stable.1807'
29       - '1810':
30           branch: 'stable/1810'
31           repo-stream-part: 'stable.1810'
32       - '1901':
33           branch: 'stable/1901'
34           repo-stream-part: 'stable.1901'
35
36 - project:
37     name: hc2vpp-view
38     views:
39       - project-view
40     project-name: hc2vpp
41
42 - job-template:
43     name: 'hc2vpp-verify-{stream}-{os}'
44     project-type: maven
45     node: '{os}-basebuild-4c-4g'
46     concurrent: true
47     jdk: openjdk8-{os}
48
49     build-discarder:
50       daysToKeep: '{build-days-to-keep}'
51       numToKeep: '{build-num-to-keep}'
52       artifactDaysToKeep: '{build-artifact-days-to-keep}'
53       artifactNumToKeep: '{build-artifact-num-to-keep}'
54
55     parameters:
56       - project-parameter:
57           project: '{project}'
58       - gerrit-parameter:
59           branch: '{branch}'
60       - os-parameter:
61           os: '{os}'
62
63     scm:
64       - gerrit-trigger-scm:
65           credentials-id: 'jenkins-gerrit-credentials'
66           refspec: '$GERRIT_REFSPEC'
67           choosing-strategy: 'gerrit'
68
69     wrappers:
70       - fdio-infra-wrappers:
71           build-timeout: '{build-timeout}'
72
73     triggers:
74       - gerrit-trigger-patch-submitted:
75           name: 'hc2vpp'
76           branch: '{branch}'
77
78     maven:
79       maven-name: 'mvn33-new'
80       root-pom: 'pom.xml'
81       # yamllint disable-line rule:line-length
82       goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dmerge site'
83       maven-opts: '-Xmx2048m -Dmaven.compile.fork=true'
84       settings: 'hc2vpp-settings'
85       settings-type: cfp
86       global-settings: 'global-settings'
87       global-settings-type: cfp
88
89     publishers:
90       - email-notification:
91           email-prefix: '[hc2vpp]'
92       - fdio-infra-shiplogs:
93           maven-version: 'mvn33-new'
94
95 - job-template:
96     name: 'hc2vpp-verify-image-{stream}-{os}'
97     project-type: maven
98     node: '{os}-basebuild-4c-4g'
99     concurrent: true
100     jdk: openjdk8-{os}
101
102     build-discarder:
103       daysToKeep: '{build-days-to-keep}'
104       numToKeep: '{build-num-to-keep}'
105       artifactDaysToKeep: '{build-artifact-days-to-keep}'
106       artifactNumToKeep: '{build-artifact-num-to-keep}'
107
108     parameters:
109       - project-parameter:
110           project: '{project}'
111       - gerrit-parameter:
112           branch: '{branch}'
113       - os-parameter:
114           os: '{os}'
115
116     scm:
117       - gerrit-trigger-scm:
118           credentials-id: 'jenkins-gerrit-credentials'
119           refspec: '$GERRIT_REFSPEC'
120           choosing-strategy: 'gerrit'
121
122     wrappers:
123       - fdio-infra-wrappers:
124           build-timeout: '{build-timeout}'
125
126     triggers:
127       - gerrit:
128           server-name: 'Primary'
129           trigger-on:
130             - comment-added-contains-event:
131                 comment-contains-value: 'verify-images'
132           projects:
133             - project-compare-type: 'ANT'
134               project-pattern: '{project}'
135               branches:
136                 - branch-compare-type: 'ANT'
137                   branch-pattern: '**/{branch}'
138           skip-vote:
139             successful: true
140             failed: true
141             unstable: true
142             notbuilt: true
143
144     maven:
145       maven-name: 'mvn33-new'
146       root-pom: 'pom.xml'
147       # yamllint disable-line rule:line-length
148       goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dmerge'
149       maven-opts: '-Xmx2048m -Dmaven.compile.fork=true'
150       settings: 'hc2vpp-settings'
151       settings-type: cfp
152       global-settings: 'global-settings'
153       global-settings-type: cfp
154
155     publishers:
156       - email-notification:
157           email-prefix: '[hc2vpp]'
158       - fdio-infra-shiplogs:
159           maven-version: 'mvn33-new'
160
161 - job-template:
162     name: 'hc2vpp-merge-{stream}-{os}'
163     project-type: maven
164     node: '{os}-basebuild-4c-4g'
165     jdk: openjdk8-{os}
166
167     build-discarder:
168       daysToKeep: '{build-days-to-keep}'
169       numToKeep: '{build-num-to-keep}'
170       artifactDaysToKeep: '{build-artifact-days-to-keep}'
171       artifactNumToKeep: '{build-artifact-num-to-keep}'
172
173     parameters:
174       - project-parameter:
175           project: '{project}'
176       - os-parameter:
177           os: '{os}'
178       - maven-project-parameter:
179           maven: 'mvn33-new'
180       - maven-exec:
181           maven-version: 'mvn33-new'
182       - repo-name-parameter:
183           repo-name: '{repo-stream-part}.{repo-os-part}'
184
185     scm:
186       - gerrit-trigger-scm:
187           credentials-id: 'jenkins-gerrit-credentials'
188           refspec: ''
189           choosing-strategy: 'default'
190
191     wrappers:
192       - ssh-agent-credentials:
193           users:
194             - 'jenkins-gerrit-credentials'
195       - fdio-infra-wrappers:
196           build-timeout: '{build-timeout}'
197
198     triggers:
199       - gerrit-trigger-patch-merged:
200           name: 'hc2vpp'
201           branch: '{branch}'
202
203     maven:
204       maven-name: 'mvn33-new'
205       root-pom: 'pom.xml'
206       # yamllint disable-line rule:line-length
207       goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dmerge -Dsonar -Ddocs.hc.folder=io/fd/hc2vpp -Dmaven.site.skip={skip-site} site -Dmaven.site.deploy.skip={skip-site} site:deploy'
208       maven-opts: '-Xmx2048m -Dmaven.compile.fork=true'
209       settings: 'hc2vpp-settings'
210       settings-type: cfp
211       global-settings: 'global-settings'
212       global-settings-type: cfp
213
214     reporters:
215       - findbugs
216
217     publishers:
218       - sonar:
219           jdk: 'openjdk8-{os}'
220           language: 'java'
221           branch: '{stream}'
222       - email-notification:
223         email-prefix: '[hc2vpp]'
224       - fdio-infra-shiplogs:
225           maven-version: 'mvn33-new'
226
227 - job-template:
228     name: 'hc2vpp-integration-{stream}-{os}'
229     project-type: maven
230     node: '{os}-basebuild-4c-4g'
231     jdk: openjdk8-{os}
232
233     build-discarder:
234       daysToKeep: '{build-days-to-keep}'
235       numToKeep: '{build-num-to-keep}'
236       artifactDaysToKeep: '{build-artifact-days-to-keep}'
237       artifactNumToKeep: '{build-artifact-num-to-keep}'
238
239     parameters:
240       - project-parameter:
241           project: '{project}'
242       - os-parameter:
243           os: '{os}'
244       - stream-parameter:
245           stream: '{stream}'
246       - maven-project-parameter:
247           maven: 'mvn33-new'
248       - maven-exec:
249           maven-version: 'mvn33-new'
250       - repo-name-parameter:
251           repo-name: '{repo-stream-part}.{repo-os-part}'
252       - string:
253           name: SKIP_JAR_DEPLOY
254           default: '{skip-jar-deploy}'
255           # yamllint disable-line rule:line-length
256           description: "Skips deployment of hc2vpp jars if variable is set to true"
257
258     scm:
259       - git-scm:
260           credentials-id: 'jenkins-gerrit-credentials'
261           refspec: ''
262           branch: '{branch}'
263
264     wrappers:
265       - ssh-agent-credentials:
266           users:
267             - 'jenkins-gerrit-credentials'
268       - fdio-infra-wrappers:
269           build-timeout: '{build-timeout}'
270
271     triggers:
272       - reverse:
273           jobs: 'vpp-merge-{stream}-{os},hc2vpp-merge-{stream}-{os}'
274           result: 'success'
275
276     prebuilders:
277       - config-file-provider:
278           files:
279             - file-id: '.packagecloud'
280               target: '/home/jenkins'
281       - config-file-provider:
282           files:
283             - file-id: 'packagecloud_api'
284               target: '/home/jenkins'
285
286       - shell:
287           !include-raw-escape: include-raw-hc2vpp-integration-prebuild.sh
288     maven:
289       maven-name: 'mvn33-new'
290       root-pom: 'pom.xml'
291       # yamllint disable-line rule:line-length
292       goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dmerge'
293       maven-opts: '-Xmx2048m -Dmaven.compile.fork=true'
294       settings: 'hc2vpp-settings'
295       settings-type: cfp
296       global-settings: 'global-settings'
297       global-settings-type: cfp
298
299     postbuilders:
300       - maven-target:
301           maven-version: 'mvn33-new'
302           goals: '--version'
303           settings: 'hc2vpp-settings'
304           settings-type: cfp
305           global-settings: 'global-settings'
306           global-settings-type: cfp
307       - provide-maven-settings:
308           settings-file: 'hc2vpp-settings'
309           global-settings-file: 'global-settings'
310       - shell:
311           !include-raw-escape:
312           - ../scripts/maven_push_functions.sh
313           - include-raw-hc2vpp-pkg-push.sh
314       - shell:
315           !include-raw-escape:
316           - ../scripts/packagecloud_push.sh
317     reporters:
318       - findbugs
319
320     publishers:
321       - email-notification:
322           email-prefix: '[hc2vpp]'
323       - maven-deploy:
324           id: ''
325           unique-version: true
326           deploy-unstable: false
327           release-env-var: SKIP_JAR_DEPLOY
328       - fdio-infra-shiplogs:
329           maven-version: 'mvn33-new'