Merge "Modify logs publisher"
[ci-management.git] / jjb / honeycomb / honeycomb.yaml
1 ---
2 - project:
3     name: honeycomb
4     jobs:
5       - 'honeycomb-verify-{stream}-{os}'
6       - 'honeycomb-merge-{stream}-{os}'
7       - 'honeycomb-benchmark-master-{os}'
8     project: 'honeycomb'
9     os:
10       - ubuntu1804:
11           repo-os-part: 'ubuntu.bionic.main'
12       - ubuntu1604:
13           repo-os-part: 'ubuntu.xenial.main'
14
15     stream:
16       - master:
17           branch: 'master'
18           repo-stream-part: 'master'
19       - '1810':
20           branch: 'stable/1810'
21           repo-stream-part: 'stable.1810'
22       - '1901':
23           branch: 'stable/1901'
24           repo-stream-part: 'stable.1901'
25       - '1904':
26           branch: 'stable/1904'
27           repo-stream-part: 'stable.1904'
28
29 - project:
30     name: honeycomb-view
31     views:
32       - project-view
33     project-name: honeycomb
34
35 - job-template:
36     name: 'honeycomb-verify-{stream}-{os}'
37     project-type: maven
38     node: '{os}-builder-4c-4g'
39     concurrent: true
40     jdk: openjdk8-{os}
41
42     build-discarder:
43       daysToKeep: '{build-days-to-keep}'
44       numToKeep: '{build-num-to-keep}'
45       artifactDaysToKeep: '{build-artifact-days-to-keep}'
46       artifactNumToKeep: '{build-artifact-num-to-keep}'
47
48     parameters:
49       - project-parameter:
50           project: '{project}'
51       - gerrit-parameter:
52           branch: '{branch}'
53       - os-parameter:
54           os: '{os}'
55
56     scm:
57       - gerrit-trigger-scm:
58           credentials-id: 'jenkins-gerrit-credentials'
59           refspec: '$GERRIT_REFSPEC'
60           choosing-strategy: 'gerrit'
61
62     wrappers:
63       - fdio-infra-wrappers:
64           build-timeout: '{build-timeout}'
65
66     triggers:
67       - gerrit-trigger-patch-submitted:
68           name: 'honeycomb'
69           branch: '{branch}'
70
71     maven:
72       maven-name: 'mvn36'
73       root-pom: 'pom.xml'
74       # yamllint disable-line rule:line-length
75       goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dmerge site'
76       maven-opts: '-Xmx2048m -Dmaven.compile.fork=true'
77       settings: 'honeycomb-settings'
78       settings-type: cfp
79       global-settings: 'global-settings'
80       global-settings-type: cfp
81
82     publishers:
83       - email-notification:
84           email-prefix: '[honeycomb]'
85       - lf-infra-publish
86
87 - job-template:
88     name: 'honeycomb-merge-{stream}-{os}'
89     project-type: maven
90     node: '{os}-builder-4c-4g'
91     jdk: openjdk8-{os}
92
93     build-discarder:
94       daysToKeep: '{build-days-to-keep}'
95       numToKeep: '{build-num-to-keep}'
96       artifactDaysToKeep: '{build-artifact-days-to-keep}'
97       artifactNumToKeep: '{build-artifact-num-to-keep}'
98
99     parameters:
100       - project-parameter:
101           project: '{project}'
102       - os-parameter:
103           os: '{os}'
104       - maven-project-parameter:
105           maven: 'mvn36'
106       - maven-exec:
107           maven-version: 'mvn36'
108       - repo-name-parameter:
109           repo-name: '{repo-stream-part}.{repo-os-part}'
110
111     scm:
112       - gerrit-trigger-scm:
113           credentials-id: 'jenkins-gerrit-credentials'
114           refspec: ''
115           choosing-strategy: 'default'
116
117     wrappers:
118       - ssh-agent-credentials:
119           users:
120             - 'jenkins-gerrit-credentials'
121       - fdio-infra-wrappers:
122           build-timeout: '{build-timeout}'
123
124     triggers:
125       - gerrit-trigger-patch-merged:
126           name: 'honeycomb'
127           branch: '{branch}'
128
129     maven:
130       maven-name: 'mvn36'
131       root-pom: 'pom.xml'
132       # yamllint disable-line rule:line-length
133       goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dmerge -Dsonar site site:deploy'
134       maven-opts: '-Xmx2048m -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       - maven-target:
142           maven-version: 'mvn36'
143           goals: '--version'
144           settings: 'honeycomb-settings'
145           settings-type: cfp
146           global-settings: 'global-settings'
147           global-settings-type: cfp
148       - provide-maven-settings:
149           settings-file: 'honeycomb-settings'
150           global-settings-file: 'global-settings'
151
152     reporters:
153       - findbugs
154
155     publishers:
156       - sonar:
157           jdk: 'openjdk8-{os}'
158           language: 'java'
159           branch: '{stream}'
160       - email-notification:
161           email-prefix: '[honeycomb]'
162       - maven-deploy:
163           id: ''
164           unique-version: true
165           deploy-unstable: false
166       - lf-infra-publish
167
168 - job-template:
169     name: 'honeycomb-benchmark-master-{os}'
170     project-type: maven
171     node: '{os}-builder-4c-4g'
172     jdk: openjdk8-{os}
173
174     build-discarder:
175       daysToKeep: '{build-days-to-keep}'
176       numToKeep: '{build-num-to-keep}'
177       artifactDaysToKeep: '{build-artifact-days-to-keep}'
178       artifactNumToKeep: '{build-artifact-num-to-keep}'
179
180     parameters:
181       - project-parameter:
182           project: '{project}'
183       - os-parameter:
184           os: '{os}'
185       - maven-project-parameter:
186           maven: 'mvn36'
187       - maven-exec:
188           maven-version: 'mvn36'
189       - repo-name-parameter:
190           repo-name: 'master.{repo-os-part}'
191
192     scm:
193       - git-scm:
194           credentials-id: 'jenkins-gerrit-credentials'
195           branch: 'master'
196
197     wrappers:
198       - ssh-agent-credentials:
199           users:
200             - 'jenkins-gerrit-credentials'
201       - fdio-infra-wrappers:
202           build-timeout: '{build-timeout}'
203
204     triggers:
205       - timed: '@daily'
206
207     maven:
208       maven-name: 'mvn36'
209       root-pom: 'pom.xml'
210       # yamllint disable-line rule:line-length
211       goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dmerge -Pbenchmark'
212       maven-opts: '-Xmx2048m -Dmaven.compile.fork=true'
213       settings: 'honeycomb-settings'
214       settings-type: cfp
215       global-settings: 'global-settings'
216       global-settings-type: cfp
217
218     publishers:
219       - plot:
220           - title: 'Infrastructure CFG write benchmark (simple-container)'
221             yaxis: 'ops/second'
222             csv-file-name: 'simple-container.csv'
223             group: 'infra-bench'
224             keep-records: true
225             numbuilds: '20'
226             style: 'line'
227             use-description: false
228             series:
229               - file: 'infra/it/benchmark/target/simple-container.csv'
230                 display-table: true
231                 format: 'csv'
232                 inclusion-flag: 'include-by-string'
233                 # yamllint disable-line rule:line-length
234                 exclude: 'persistence=true freq=1,persistence=true freq=10,persistence=false freq=1,persistence=false freq=10'
235           - title: 'Infrastructure CFG write benchmark (list-in-container)'
236             yaxis: 'ops/second'
237             csv-file-name: 'list-in-container.csv'
238             group: 'infra-bench'
239             keep-records: true
240             numbuilds: '20'
241             style: 'line'
242             use-description: false
243             series:
244               - file: 'infra/it/benchmark/target/list-in-container.csv'
245                 display-table: true
246                 format: 'csv'
247                 inclusion-flag: 'include-by-string'
248                 # yamllint disable-line rule:line-length
249                 exclude: 'persistence=true freq=1,persistence=true freq=10,persistence=false freq=1,persistence=false freq=10'
250           # yamllint disable-line rule:line-length
251           - title: 'Infrastructure CFG write benchmark (complex-list-in-container)'
252             yaxis: 'ops/second'
253             csv-file-name: 'complex-list-in-container.csv'
254             group: 'infra-bench'
255             keep-records: true
256             numbuilds: '20'
257             style: 'line'
258             use-description: false
259             series:
260               - file: 'infra/it/benchmark/target/complex-list-in-container.csv'
261                 display-table: true
262                 format: 'csv'
263                 inclusion-flag: 'include-by-string'
264                 # yamllint disable-line rule:line-length
265                 exclude: 'persistence=true freq=1,persistence=true freq=10,persistence=false freq=1,persistence=false freq=10'
266           - title: 'Infrastructure CFG read benchmark'
267             yaxis: 'ops/second'
268             csv-file-name: 'operational-read.csv'
269             group: 'infra-bench'
270             keep-records: true
271             numbuilds: '20'
272             style: 'line'
273             use-description: false
274             series:
275               - file: 'infra/it/benchmark/target/operational-read.csv'
276                 display-table: true
277                 format: 'csv'
278                 inclusion-flag: 'include-by-string'
279                 # yamllint disable-line rule:line-length
280                 exclude: 'simple-container,list-in-container,complex-list-in-container'
281
282       - lf-infra-publish
283
284 - project:
285     name: honeycomb-info
286     project-name: honeycomb
287     jobs:
288       - gerrit-info-yaml-verify
289     build-node: centos7-builder-4c-4g
290     project: honeycomb
291     branch: master