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