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