Merge "Add INFO.yaml verify job"
[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     project: 'hc2vpp'
9     os:
10       - ubuntu1804:
11           repo-os-part: 'ubuntu.bionic.main'
12           skip-site: 'false'
13           skip-jar-deploy: 'false'
14       - ubuntu1604:
15           repo-os-part: 'ubuntu.xenial.main'
16           skip-site: 'true'
17           skip-jar-deploy: 'true'
18       - centos7:
19           repo-os-part: 'centos7'
20           skip-site: 'true'
21           skip-jar-deploy: 'true'
22     stream:
23       - master:
24           branch: 'master'
25           repo-stream-part: 'master'
26       - '1810':
27           branch: 'stable/1810'
28           repo-stream-part: 'stable.1810'
29       - '1901':
30           branch: 'stable/1901'
31           repo-stream-part: 'stable.1901'
32       - '1904':
33           branch: 'stable/1904'
34           repo-stream-part: 'stable.1904'
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}-builder-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: 'mvn36'
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: 'mvn36'
94
95 - job-template:
96     name: 'hc2vpp-merge-{stream}-{os}'
97     project-type: maven
98     node: '{os}-builder-4c-4g'
99     jdk: openjdk8-{os}
100
101     build-discarder:
102       daysToKeep: '{build-days-to-keep}'
103       numToKeep: '{build-num-to-keep}'
104       artifactDaysToKeep: '{build-artifact-days-to-keep}'
105       artifactNumToKeep: '{build-artifact-num-to-keep}'
106
107     parameters:
108       - project-parameter:
109           project: '{project}'
110       - os-parameter:
111           os: '{os}'
112       - maven-project-parameter:
113           maven: 'mvn36'
114       - maven-exec:
115           maven-version: 'mvn36'
116       - repo-name-parameter:
117           repo-name: '{repo-stream-part}.{repo-os-part}'
118
119     scm:
120       - gerrit-trigger-scm:
121           credentials-id: 'jenkins-gerrit-credentials'
122           refspec: ''
123           choosing-strategy: 'default'
124
125     wrappers:
126       - ssh-agent-credentials:
127           users:
128             - 'jenkins-gerrit-credentials'
129       - fdio-infra-wrappers:
130           build-timeout: '{build-timeout}'
131
132     triggers:
133       - gerrit-trigger-patch-merged:
134           name: 'hc2vpp'
135           branch: '{branch}'
136
137     maven:
138       maven-name: 'mvn36'
139       root-pom: 'pom.xml'
140       # yamllint disable-line rule:line-length
141       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'
142       maven-opts: '-Xmx2048m -Dmaven.compile.fork=true'
143       settings: 'hc2vpp-settings'
144       settings-type: cfp
145       global-settings: 'global-settings'
146       global-settings-type: cfp
147
148     reporters:
149       - findbugs
150
151     publishers:
152       - sonar:
153           jdk: 'openjdk8-{os}'
154           language: 'java'
155           branch: '{stream}'
156       - email-notification:
157         email-prefix: '[hc2vpp]'
158       - fdio-infra-shiplogs:
159           maven-version: 'mvn36'
160
161 - job-template:
162     name: 'hc2vpp-integration-{stream}-{os}'
163     project-type: maven
164     node: '{os}-builder-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       - stream-parameter:
179           stream: '{stream}'
180       - maven-project-parameter:
181           maven: 'mvn36'
182       - maven-exec:
183           maven-version: 'mvn36'
184       - repo-name-parameter:
185           repo-name: '{repo-stream-part}.{repo-os-part}'
186       - string:
187           name: SKIP_JAR_DEPLOY
188           default: '{skip-jar-deploy}'
189           # yamllint disable-line rule:line-length
190           description: "Skips deployment of hc2vpp jars if variable is set to true"
191
192     scm:
193       - git-scm:
194           credentials-id: 'jenkins-gerrit-credentials'
195           refspec: ''
196           branch: '{branch}'
197
198     wrappers:
199       - ssh-agent-credentials:
200           users:
201             - 'jenkins-gerrit-credentials'
202       - fdio-infra-wrappers:
203           build-timeout: '{build-timeout}'
204
205     triggers:
206       - reverse:
207           jobs: 'jvpp-merge-{stream}-{os},hc2vpp-merge-{stream}-{os}'
208           result: 'success'
209
210     prebuilders:
211       - config-file-provider:
212           files:
213             - file-id: '.packagecloud'
214               target: '/home/jenkins'
215       - config-file-provider:
216           files:
217             - file-id: 'packagecloud_api'
218               target: '/home/jenkins'
219
220       - shell:
221           !include-raw-escape: include-raw-hc2vpp-integration-prebuild.sh
222     maven:
223       maven-name: 'mvn36'
224       root-pom: 'pom.xml'
225       # yamllint disable-line rule:line-length
226       goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dmerge'
227       maven-opts: '-Xmx2048m -Dmaven.compile.fork=true'
228       settings: 'hc2vpp-settings'
229       settings-type: cfp
230       global-settings: 'global-settings'
231       global-settings-type: cfp
232
233     postbuilders:
234       - maven-target:
235           maven-version: 'mvn36'
236           goals: '--version'
237           settings: 'hc2vpp-settings'
238           settings-type: cfp
239           global-settings: 'global-settings'
240           global-settings-type: cfp
241       - provide-maven-settings:
242           settings-file: 'hc2vpp-settings'
243           global-settings-file: 'global-settings'
244       - shell:
245           !include-raw-escape:
246           - ../scripts/maven_push_functions.sh
247           - include-raw-hc2vpp-pkg-push.sh
248       - shell:
249           !include-raw-escape:
250           - ../scripts/packagecloud_push.sh
251     reporters:
252       - findbugs
253
254     publishers:
255       - email-notification:
256           email-prefix: '[hc2vpp]'
257       - maven-deploy:
258           id: ''
259           unique-version: true
260           deploy-unstable: false
261           release-env-var: SKIP_JAR_DEPLOY
262       - fdio-infra-shiplogs:
263           maven-version: 'mvn36'
264
265 - project:
266     name: hc2vpp-info
267     project-name: hc2vpp
268     jobs:
269       - gerrit-info-yaml-verify
270     build-node: centos7-builder-4c-4g
271     project: hc2vpp
272     branch: master