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