Merge "Add INFO.yaml verify job"
[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       - fdio-infra-shiplogs:
86           maven-version: 'mvn36'
87
88 - job-template:
89     name: 'honeycomb-merge-{stream}-{os}'
90     project-type: maven
91     node: '{os}-builder-4c-4g'
92     jdk: openjdk8-{os}
93
94     build-discarder:
95       daysToKeep: '{build-days-to-keep}'
96       numToKeep: '{build-num-to-keep}'
97       artifactDaysToKeep: '{build-artifact-days-to-keep}'
98       artifactNumToKeep: '{build-artifact-num-to-keep}'
99
100     parameters:
101       - project-parameter:
102           project: '{project}'
103       - os-parameter:
104           os: '{os}'
105       - maven-project-parameter:
106           maven: 'mvn36'
107       - maven-exec:
108           maven-version: 'mvn36'
109       - repo-name-parameter:
110           repo-name: '{repo-stream-part}.{repo-os-part}'
111
112     scm:
113       - gerrit-trigger-scm:
114           credentials-id: 'jenkins-gerrit-credentials'
115           refspec: ''
116           choosing-strategy: 'default'
117
118     wrappers:
119       - ssh-agent-credentials:
120           users:
121             - 'jenkins-gerrit-credentials'
122       - fdio-infra-wrappers:
123           build-timeout: '{build-timeout}'
124
125     triggers:
126       - gerrit-trigger-patch-merged:
127           name: 'honeycomb'
128           branch: '{branch}'
129
130     maven:
131       maven-name: 'mvn36'
132       root-pom: 'pom.xml'
133       # yamllint disable-line rule:line-length
134       goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dmerge -Dsonar site site:deploy'
135       maven-opts: '-Xmx2048m -Dmaven.compile.fork=true'
136       settings: 'honeycomb-settings'
137       settings-type: cfp
138       global-settings: 'global-settings'
139       global-settings-type: cfp
140
141     postbuilders:
142       - maven-target:
143           maven-version: 'mvn36'
144           goals: '--version'
145           settings: 'honeycomb-settings'
146           settings-type: cfp
147           global-settings: 'global-settings'
148           global-settings-type: cfp
149       - provide-maven-settings:
150           settings-file: 'honeycomb-settings'
151           global-settings-file: 'global-settings'
152
153     reporters:
154       - findbugs
155
156     publishers:
157       - sonar:
158           jdk: 'openjdk8-{os}'
159           language: 'java'
160           branch: '{stream}'
161       - email-notification:
162           email-prefix: '[honeycomb]'
163       - maven-deploy:
164           id: ''
165           unique-version: true
166           deploy-unstable: false
167       - fdio-infra-shiplogs:
168           maven-version: 'mvn36'
169
170 - job-template:
171     name: 'honeycomb-benchmark-master-{os}'
172     project-type: maven
173     node: '{os}-builder-4c-4g'
174     jdk: openjdk8-{os}
175
176     build-discarder:
177       daysToKeep: '{build-days-to-keep}'
178       numToKeep: '{build-num-to-keep}'
179       artifactDaysToKeep: '{build-artifact-days-to-keep}'
180       artifactNumToKeep: '{build-artifact-num-to-keep}'
181
182     parameters:
183       - project-parameter:
184           project: '{project}'
185       - os-parameter:
186           os: '{os}'
187       - maven-project-parameter:
188           maven: 'mvn36'
189       - maven-exec:
190           maven-version: 'mvn36'
191       - repo-name-parameter:
192           repo-name: 'master.{repo-os-part}'
193
194     scm:
195       - git-scm:
196           credentials-id: 'jenkins-gerrit-credentials'
197           branch: 'master'
198
199     wrappers:
200       - ssh-agent-credentials:
201           users:
202             - 'jenkins-gerrit-credentials'
203       - fdio-infra-wrappers:
204           build-timeout: '{build-timeout}'
205
206     triggers:
207       - timed: '@daily'
208
209     maven:
210       maven-name: 'mvn36'
211       root-pom: 'pom.xml'
212       # yamllint disable-line rule:line-length
213       goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dmerge -Pbenchmark'
214       maven-opts: '-Xmx2048m -Dmaven.compile.fork=true'
215       settings: 'honeycomb-settings'
216       settings-type: cfp
217       global-settings: 'global-settings'
218       global-settings-type: cfp
219
220     publishers:
221       - plot:
222           - title: 'Infrastructure CFG write benchmark (simple-container)'
223             yaxis: 'ops/second'
224             csv-file-name: 'simple-container.csv'
225             group: 'infra-bench'
226             keep-records: true
227             numbuilds: '20'
228             style: 'line'
229             use-description: false
230             series:
231               - file: 'infra/it/benchmark/target/simple-container.csv'
232                 display-table: true
233                 format: 'csv'
234                 inclusion-flag: 'include-by-string'
235                 # yamllint disable-line rule:line-length
236                 exclude: 'persistence=true freq=1,persistence=true freq=10,persistence=false freq=1,persistence=false freq=10'
237           - title: 'Infrastructure CFG write benchmark (list-in-container)'
238             yaxis: 'ops/second'
239             csv-file-name: 'list-in-container.csv'
240             group: 'infra-bench'
241             keep-records: true
242             numbuilds: '20'
243             style: 'line'
244             use-description: false
245             series:
246               - file: 'infra/it/benchmark/target/list-in-container.csv'
247                 display-table: true
248                 format: 'csv'
249                 inclusion-flag: 'include-by-string'
250                 # yamllint disable-line rule:line-length
251                 exclude: 'persistence=true freq=1,persistence=true freq=10,persistence=false freq=1,persistence=false freq=10'
252           # yamllint disable-line rule:line-length
253           - title: 'Infrastructure CFG write benchmark (complex-list-in-container)'
254             yaxis: 'ops/second'
255             csv-file-name: 'complex-list-in-container.csv'
256             group: 'infra-bench'
257             keep-records: true
258             numbuilds: '20'
259             style: 'line'
260             use-description: false
261             series:
262               - file: 'infra/it/benchmark/target/complex-list-in-container.csv'
263                 display-table: true
264                 format: 'csv'
265                 inclusion-flag: 'include-by-string'
266                 # yamllint disable-line rule:line-length
267                 exclude: 'persistence=true freq=1,persistence=true freq=10,persistence=false freq=1,persistence=false freq=10'
268           - title: 'Infrastructure CFG read benchmark'
269             yaxis: 'ops/second'
270             csv-file-name: 'operational-read.csv'
271             group: 'infra-bench'
272             keep-records: true
273             numbuilds: '20'
274             style: 'line'
275             use-description: false
276             series:
277               - file: 'infra/it/benchmark/target/operational-read.csv'
278                 display-table: true
279                 format: 'csv'
280                 inclusion-flag: 'include-by-string'
281                 # yamllint disable-line rule:line-length
282                 exclude: 'simple-container,list-in-container,complex-list-in-container'
283
284       - fdio-infra-shiplogs:
285           maven-version: 'mvn36'