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