Merge "Correct lock check failures"
[ci-management.git] / jjb / hc2vpp / hc2vpp.yaml
1 - project:
2     name: hc2vpp
3     jobs:
4         - 'hc2vpp-verify-{stream}-{os}'
5         - 'hc2vpp-merge-{stream}-{os}'
6         - 'hc2vpp-integration-{stream}-{os}'
7         - 'hc2vpp-verify-image-{stream}-{os}'
8     project: 'hc2vpp'
9     os:
10         - ubuntu1404:
11             repo-os-part: 'ubuntu.trusty.main'
12             skip-site: 'false'
13         - ubuntu1604:
14             repo-os-part: 'ubuntu.xenial.main'
15             skip-site: 'true'
16         - centos7:
17             repo-os-part: 'centos7'
18             skip-site: 'true'
19     stream:
20         - master:
21             branch: 'master'
22             repo-stream-part: 'master'
23         - '1701':
24             branch: 'stable/1701'
25             repo-stream-part: 'stable.1701'
26         - '1704':
27             branch: 'stable/1704'
28             repo-stream-part: 'stable.1704'
29
30 - job-template:
31     name: 'hc2vpp-verify-{stream}-{os}'
32     project-type: maven
33     node: '{os}-basebuild-4c-4g'
34     concurrent: true
35     jdk: openjdk8-{os}
36
37     logrotate:
38         daysToKeep: '{build-days-to-keep}'
39         numToKeep: '{build-num-to-keep}'
40         artifactDaysToKeep: '{build-artifact-days-to-keep}'
41         artifactNumToKeep: '{build-artifact-num-to-keep}'
42
43     parameters:
44         - project-parameter:
45             project: '{project}'
46         - gerrit-parameter:
47             branch: '{branch}'
48         - os-parameter:
49             os: '{os}'
50
51     scm:
52         - gerrit-trigger-scm:
53             credentials-id: 'jenkins-gerrit-credentials'
54             refspec: '$GERRIT_REFSPEC'
55             choosing-strategy: 'gerrit'
56
57     wrappers:
58         - fdio-infra-wrappers:
59             build-timeout: '{build-timeout}'
60
61     triggers:
62         - gerrit-trigger-patch-submitted:
63             name: 'hc2vpp'
64             branch: '{branch}'
65
66     prebuilders:
67         - shell: |
68             if [ "${{OS}}" == "ubuntu1404" ];then sudo update-java-alternatives -s /usr/lib/jvm/java-1.8.0-openjdk-amd64||echo 'ignoring failure';fi
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     prebuilders:
135         - shell: |
136             if [ "${{OS}}" == "ubuntu1404" ];then sudo update-java-alternatives -s /usr/lib/jvm/java-1.8.0-openjdk-amd64||echo 'ignoring failure';fi
137     maven:
138         maven-name: 'mvn33-new'
139         root-pom: 'pom.xml'
140         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dmerge'
141         maven-opts: '-Xmx2048m -Dmaven.compile.fork=true'
142         settings: 'hc2vpp-settings'
143         settings-type: cfp
144         global-settings: 'global-settings'
145         global-settings-type: cfp
146
147     publishers:
148         - email-notification:
149             email-prefix: '[hc2vpp]'
150         - fdio-infra-shiplogs:
151             maven-version: 'mvn33-new'
152
153 - job-template:
154     name: 'hc2vpp-merge-{stream}-{os}'
155     project-type: maven
156     node: '{os}-basebuild-4c-4g'
157     jdk: openjdk8-{os}
158
159     logrotate:
160         daysToKeep: '{build-days-to-keep}'
161         numToKeep: '{build-num-to-keep}'
162         artifactDaysToKeep: '{build-artifact-days-to-keep}'
163         artifactNumToKeep: '{build-artifact-num-to-keep}'
164
165     parameters:
166         - project-parameter:
167             project: '{project}'
168         - os-parameter:
169             os: '{os}'
170         - maven-project-parameter:
171             maven: 'mvn33-new'
172         - maven-exec:
173             maven-version: 'mvn33-new'
174         - repo-name-parameter:
175             repo-name: '{repo-stream-part}.{repo-os-part}'
176
177     scm:
178         - gerrit-trigger-scm:
179             credentials-id: 'jenkins-gerrit-credentials'
180             refspec: ''
181             choosing-strategy: 'default'
182
183     wrappers:
184         - ssh-agent-credentials:
185             users:
186                 - 'jenkins-gerrit-credentials'
187         - fdio-infra-wrappers:
188             build-timeout: '{build-timeout}'
189
190     triggers:
191         - gerrit-trigger-patch-merged:
192             name: 'hc2vpp'
193             branch: '{branch}'
194
195     maven:
196         maven-name: 'mvn33-new'
197         root-pom: 'pom.xml'
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     logrotate:
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         - maven-project-parameter:
236             maven: 'mvn33-new'
237         - maven-exec:
238             maven-version: 'mvn33-new'
239
240         - repo-name-parameter:
241             repo-name: '{repo-stream-part}.{repo-os-part}'
242
243     scm:
244         - git-scm:
245             credentials-id: 'jenkins-gerrit-credentials'
246             refspec: ''
247             branch: '{branch}'
248
249     wrappers:
250         - ssh-agent-credentials:
251             users:
252                 - 'jenkins-gerrit-credentials'
253         - fdio-infra-wrappers:
254             build-timeout: '{build-timeout}'
255
256     triggers:
257         - reverse:
258             jobs: 'vpp-merge-{stream}-{os},hc2vpp-merge-{stream}-{os}'
259             result: 'success'
260
261     prebuilders:
262         - shell: |
263             if [ "${{OS}}" == "ubuntu1404" ];then sudo update-java-alternatives -s /usr/lib/jvm/java-1.8.0-openjdk-amd64||echo 'ignoring failure';fi
264
265     maven:
266         maven-name: 'mvn33-new'
267         root-pom: 'pom.xml'
268         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dmerge'
269         maven-opts: '-Xmx2048m -Dmaven.compile.fork=true'
270         settings: 'hc2vpp-settings'
271         settings-type: cfp
272         global-settings: 'global-settings'
273         global-settings-type: cfp
274
275     postbuilders:
276         - maven-target:
277             maven-version: 'mvn33-new'
278             goals: '--version'
279             settings: 'hc2vpp-settings'
280             settings-type: cfp
281             global-settings: 'global-settings'
282             global-settings-type: cfp
283         - provide-maven-settings:
284             settings-file: 'hc2vpp-settings'
285             global-settings-file: 'global-settings'
286         - shell:
287             !include-raw-escape:
288                 - ../scripts/maven_push_functions.sh
289                 - include-raw-hc2vpp-pkg-push.sh
290     reporters:
291         - findbugs
292
293     publishers:
294         - email-notification:
295             email-prefix: '[hc2vpp]'
296         - maven-deploy:
297             id: ''
298             unique-version: true
299             deploy-unstable: false
300         - fdio-infra-shiplogs:
301             maven-version: 'mvn33-new'