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