Declare maven-project-parameter for honeycomb-integration-* 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         - maven-project-parameter:
248             maven: '{mvn33}'
249
250     scm:
251         - git-scm:
252             credentials-id: '{ssh-credentials}'
253             refspec: ''
254             branch: '{branch}'
255
256     wrappers:
257         - build-timeout
258         - ssh-agent-credentials:
259             users:
260                 - '{ssh-credentials}'
261
262     triggers:
263         - reverse:
264             jobs: 'vpp-merge-{branch}-{os}'
265             result: 'success'
266
267     prebuilders:
268         - shell: |
269             if [ "${{OS}}" == "ubuntu1404" ];then sudo update-java-alternatives -s /usr/lib/jvm/java-1.8.0-openjdk-amd64;fi
270
271     maven:
272         maven-name: '{mvn33}'
273         root-pom: 'pom.xml'
274         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dmerge -Dkaraf.keep.unpack=true -Dsonar'
275         maven-opts: '-Xmx2048m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
276         settings: 'honeycomb-settings'
277         settings-type: cfp
278         global-settings: 'global-settings'
279         global-settings-type: cfp
280
281     postbuilders:
282         - maven-target:
283             maven-version: '{mvn33}'
284             goals: '--version'
285             settings: 'honeycomb-settings'
286             settings-type: cfp
287             global-settings: 'global-settings'
288             global-settings-type: cfp
289         - provide-maven-settings:
290             settings-file: 'honeycomb-settings'
291             global-settings-file: 'global-settings'
292         - shell:
293             !include-raw-escape:
294                 - ../scripts/maven_push_functions.sh
295                 - include-raw-honeycomb-pkg-push.sh
296         - shell: |
297             if [ "${{OS}}" == "ubuntu1404" ];then sudo update-java-alternatives -s /usr/lib/jvm/java-1.7.0-openjdk-amd64;fi
298
299     reporters:
300         - findbugs
301
302     publishers:
303         - sonar:
304             language: 'java'
305         - email-notification:
306             email-prefix: '[honeycomb]'
307         - maven-deploy:
308             id: ''
309             unique-version: true
310             deploy-unstable: false