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