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