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