Distinguish honeycomb branches in sonar analysis
[ci-management.git] / jjb / honeycomb / honeycomb.yaml
1 - project:
2     name: honeycomb
3     jobs:
4         - 'honeycomb-verify-{stream}-{os}'
5         - 'honeycomb-merge-{stream}-{os}'
6         - 'honeycomb-integration-{stream}-{os}'
7         - 'honeycomb-verify-image-{stream}-{os}'
8     project: 'honeycomb'
9     os:
10         - ubuntu1404:
11             repo-os-part: 'ubuntu.trusty.main'
12         - centos7:
13             repo-os-part: 'centos7'
14     stream:
15         - master:
16             branch: 'master'
17             repo-stream-part: 'master'
18         - '1609':
19             branch: 'stable/1609'
20             repo-stream-part: 'stable.1609'
21
22 - job-template:
23     name: 'honeycomb-verify-{stream}-{os}'
24     project-type: maven
25     node: verify-{os}
26     concurrent: true
27
28     logrotate:
29         daysToKeep: '{build-days-to-keep}'
30         numToKeep: '{build-num-to-keep}'
31         artifactDaysToKeep: '{build-artifact-days-to-keep}'
32         artifactNumToKeep: '{build-artifact-num-to-keep}'
33
34     parameters:
35         - project-parameter:
36             project: '{project}'
37         - gerrit-parameter:
38             branch: '{branch}'
39         - os-parameter:
40             os: '{os}'
41
42     scm:
43         - gerrit-trigger-scm:
44             credentials-id: '{ssh-credentials}'
45             refspec: '$GERRIT_REFSPEC'
46             choosing-strategy: 'gerrit'
47
48     wrappers:
49         - build-timeout
50         - ssh-agent-credentials:
51             users:
52                 - '{ssh-credentials}'
53
54     triggers:
55         - gerrit-trigger-patch-submitted:
56             name: 'honeycomb'
57             branch: '{branch}'
58
59     prebuilders:
60         - shell: |
61             if [ "${{OS}}" == "ubuntu1404" ];then sudo update-java-alternatives -s /usr/lib/jvm/java-1.8.0-openjdk-amd64||echo 'ignoring failure';fi
62     maven:
63         maven-name: '{mvn33}'
64         root-pom: 'pom.xml'
65         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dmerge -Dkaraf.keep.unpack=true'
66         maven-opts: '-Xmx2048m -Dmaven.compile.fork=true'
67         settings: 'honeycomb-settings'
68         settings-type: cfp
69         global-settings: 'global-settings'
70         global-settings-type: cfp
71
72     postbuilders:
73         - shell: |
74             if [ "${{OS}}" == "ubuntu1404" ];then sudo update-java-alternatives -s /usr/lib/jvm/java-1.7.0-openjdk-amd64||echo 'ignoring failure';fi
75
76     publishers:
77         - email-notification:
78             email-prefix: '[honeycomb]'
79
80 - job-template:
81     name: 'honeycomb-verify-image-{stream}-{os}'
82     project-type: maven
83     node: 'verify-image-{os}'
84     concurrent: true
85
86     logrotate:
87         daysToKeep: '{build-days-to-keep}'
88         numToKeep: '{build-num-to-keep}'
89         artifactDaysToKeep: '{build-artifact-days-to-keep}'
90         artifactNumToKeep: '{build-artifact-num-to-keep}'
91
92     parameters:
93         - project-parameter:
94             project: '{project}'
95         - gerrit-parameter:
96             branch: '{branch}'
97         - os-parameter:
98             os: '{os}'
99
100     scm:
101         - gerrit-trigger-scm:
102             credentials-id: '{ssh-credentials}'
103             refspec: '$GERRIT_REFSPEC'
104             choosing-strategy: 'gerrit'
105
106     wrappers:
107         - build-timeout
108         - ssh-agent-credentials:
109             users:
110                 - '{ssh-credentials}'
111
112     triggers:
113         - gerrit:
114             server-name: 'Primary'
115             trigger-on:
116                 - comment-added-contains-event:
117                     comment-contains-value: 'verify-images'
118             projects:
119               - project-compare-type: 'ANT'
120                 project-pattern: '{project}'
121                 branches:
122                   - branch-compare-type: 'ANT'
123                     branch-pattern: '**/{branch}'
124             skip-vote:
125                 successful: true
126                 failed: true
127                 unstable: true
128                 notbuilt: true
129
130     prebuilders:
131         - shell: |
132             if [ "${{OS}}" == "ubuntu1404" ];then sudo update-java-alternatives -s /usr/lib/jvm/java-1.8.0-openjdk-amd64||echo 'ignoring failure';fi
133     maven:
134         maven-name: '{mvn33}'
135         root-pom: 'pom.xml'
136         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dmerge -Dkaraf.keep.unpack=true'
137         maven-opts: '-Xmx2048m -Dmaven.compile.fork=true'
138         settings: 'honeycomb-settings'
139         settings-type: cfp
140         global-settings: 'global-settings'
141         global-settings-type: cfp
142
143     postbuilders:
144         - shell: |
145             if [ "${{OS}}" == "ubuntu1404" ];then sudo update-java-alternatives -s /usr/lib/jvm/java-1.7.0-openjdk-amd64||echo 'ignoring failure';fi
146
147     publishers:
148         - email-notification:
149             email-prefix: '[honeycomb]'
150
151 - job-template:
152     name: 'honeycomb-merge-{stream}-{os}'
153     project-type: maven
154     node: merge-{os}
155
156     logrotate:
157         daysToKeep: '{build-days-to-keep}'
158         numToKeep: '{build-num-to-keep}'
159         artifactDaysToKeep: '{build-artifact-days-to-keep}'
160         artifactNumToKeep: '{build-artifact-num-to-keep}'
161
162     parameters:
163         - project-parameter:
164             project: '{project}'
165         - os-parameter:
166             os: '{os}'
167         - maven-project-parameter:
168             maven: '{mvn33}'
169         - repo-name-parameter:
170             repo-name: '{repo-stream-part}.{repo-os-part}'
171
172     scm:
173         - gerrit-trigger-scm:
174             credentials-id: '{ssh-credentials}'
175             refspec: ''
176             choosing-strategy: 'default'
177
178     wrappers:
179         - build-timeout
180         - ssh-agent-credentials:
181             users:
182                 - '{ssh-credentials}'
183
184     triggers:
185         - gerrit-trigger-patch-merged:
186             name: 'honeycomb'
187             branch: '{branch}'
188
189     prebuilders:
190         - shell: |
191             if [ "${{OS}}" == "ubuntu1404" ];then sudo update-java-alternatives -s /usr/lib/jvm/java-1.8.0-openjdk-amd64||echo 'ignoring failure';fi
192
193     maven:
194         maven-name: '{mvn33}'
195         root-pom: 'pom.xml'
196         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dmerge -Dkaraf.keep.unpack=true -Dsonar'
197         maven-opts: '-Xmx2048m -Dmaven.compile.fork=true'
198         settings: 'honeycomb-settings'
199         settings-type: cfp
200         global-settings: 'global-settings'
201         global-settings-type: cfp
202
203     postbuilders:
204         - shell: |
205             if [ "${{OS}}" == "ubuntu1404" ];then sudo update-java-alternatives -s /usr/lib/jvm/java-1.7.0-openjdk-amd64||echo 'ignoring failure';fi
206
207     reporters:
208         - findbugs
209
210     publishers:
211         - sonar:
212             language: 'java'
213             branch: '{stream}'
214         - email-notification:
215             email-prefix: '[honeycomb]'
216
217 - job-template:
218     name: 'honeycomb-integration-{stream}-{os}'
219     project-type: maven
220     node: merge-{os}
221
222     logrotate:
223         daysToKeep: '{build-days-to-keep}'
224         numToKeep: '{build-num-to-keep}'
225         artifactDaysToKeep: '{build-artifact-days-to-keep}'
226         artifactNumToKeep: '{build-artifact-num-to-keep}'
227
228     parameters:
229         - project-parameter:
230             project: '{project}'
231         - os-parameter:
232             os: '{os}'
233         - maven-project-parameter:
234             maven: '{mvn33}'
235         - repo-name-parameter:
236             repo-name: '{repo-stream-part}.{repo-os-part}'
237
238     scm:
239         - git-scm:
240             credentials-id: '{ssh-credentials}'
241             refspec: ''
242             branch: '{branch}'
243
244     wrappers:
245         - build-timeout
246         - ssh-agent-credentials:
247             users:
248                 - '{ssh-credentials}'
249
250     triggers:
251         - reverse:
252             jobs: 'vpp-merge-{stream}-{os},honeycomb-merge-{stream}-{os}'
253             result: 'success'
254
255     prebuilders:
256         - shell: |
257             if [ "${{OS}}" == "ubuntu1404" ];then sudo update-java-alternatives -s /usr/lib/jvm/java-1.8.0-openjdk-amd64||echo 'ignoring failure';fi
258
259     maven:
260         maven-name: '{mvn33}'
261         root-pom: 'pom.xml'
262         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dmerge -Dkaraf.keep.unpack=true -Dsonar'
263         maven-opts: '-Xmx2048m -Dmaven.compile.fork=true'
264         settings: 'honeycomb-settings'
265         settings-type: cfp
266         global-settings: 'global-settings'
267         global-settings-type: cfp
268
269     postbuilders:
270         - maven-target:
271             maven-version: '{mvn33}'
272             goals: '--version'
273             settings: 'honeycomb-settings'
274             settings-type: cfp
275             global-settings: 'global-settings'
276             global-settings-type: cfp
277         - provide-maven-settings:
278             settings-file: 'honeycomb-settings'
279             global-settings-file: 'global-settings'
280         - shell:
281             !include-raw-escape:
282                 - ../scripts/maven_push_functions.sh
283                 - include-raw-honeycomb-pkg-push.sh
284         - shell: |
285             if [ "${{OS}}" == "ubuntu1404" ];then sudo update-java-alternatives -s /usr/lib/jvm/java-1.7.0-openjdk-amd64||echo 'ignoring failure';fi
286
287     reporters:
288         - findbugs
289
290     publishers:
291         - sonar:
292             language: 'java'
293             branch: '{stream}'
294         - email-notification:
295             email-prefix: '[honeycomb]'
296         - maven-deploy:
297             id: ''
298             unique-version: true
299             deploy-unstable: false