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