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