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