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