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