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