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