Merge "HC2VPP-122 Use single VPP version dependency in published hc2vpp packages"
[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         - '1704':
22             branch: 'stable/1704'
23             repo-stream-part: 'stable.1704'
24
25 - job-template:
26     name: 'honeycomb-verify-{stream}-{os}'
27     project-type: maven
28     node: '{os}-basebuild-4c-4g'
29     concurrent: true
30     jdk: openjdk8-{os}
31
32     logrotate:
33         daysToKeep: '{build-days-to-keep}'
34         numToKeep: '{build-num-to-keep}'
35         artifactDaysToKeep: '{build-artifact-days-to-keep}'
36         artifactNumToKeep: '{build-artifact-num-to-keep}'
37
38     parameters:
39         - project-parameter:
40             project: '{project}'
41         - gerrit-parameter:
42             branch: '{branch}'
43         - os-parameter:
44             os: '{os}'
45
46     scm:
47         - gerrit-trigger-scm:
48             credentials-id: 'jenkins-gerrit-credentials'
49             refspec: '$GERRIT_REFSPEC'
50             choosing-strategy: 'gerrit'
51
52     wrappers:
53         - fdio-infra-wrappers:
54             build-timeout: '{build-timeout}'
55
56     triggers:
57         - gerrit-trigger-patch-submitted:
58             name: 'honeycomb'
59             branch: '{branch}'
60
61     prebuilders:
62         - shell: |
63             if [ "${{OS}}" == "ubuntu1404" ];then sudo update-java-alternatives -s /usr/lib/jvm/java-1.8.0-openjdk-amd64||echo 'ignoring failure';fi
64     maven:
65         maven-name: 'mvn33-new'
66         root-pom: 'pom.xml'
67         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dmerge site'
68         maven-opts: '-Xmx2048m -Dmaven.compile.fork=true'
69         settings: 'honeycomb-settings'
70         settings-type: cfp
71         global-settings: 'global-settings'
72         global-settings-type: cfp
73
74     publishers:
75         - email-notification:
76             email-prefix: '[honeycomb]'
77         - fdio-infra-shiplogs:
78             maven-version: 'mvn33-new'
79
80 - job-template:
81     name: 'honeycomb-merge-{stream}-{os}'
82     project-type: maven
83     node: '{os}-basebuild-4c-4g'
84     jdk: openjdk8-{os}
85
86     logrotate:
87         daysToKeep: '{build-days-to-keep}'
88         numToKeep: '{build-num-to-keep}'
89         artifactDaysToKeep: '{build-artifact-days-to-keep}'
90         artifactNumToKeep: '{build-artifact-num-to-keep}'
91
92     parameters:
93         - project-parameter:
94             project: '{project}'
95         - os-parameter:
96             os: '{os}'
97         - maven-project-parameter:
98             maven: 'mvn33-new'
99         - maven-exec:
100             maven-version: 'mvn33-new'
101         - repo-name-parameter:
102             repo-name: '{repo-stream-part}.{repo-os-part}'
103
104     scm:
105         - gerrit-trigger-scm:
106             credentials-id: 'jenkins-gerrit-credentials'
107             refspec: ''
108             choosing-strategy: 'default'
109
110     wrappers:
111         - ssh-agent-credentials:
112             users:
113                 - 'jenkins-gerrit-credentials'
114         - fdio-infra-wrappers:
115             build-timeout: '{build-timeout}'
116
117     triggers:
118         - gerrit-trigger-patch-merged:
119             name: 'honeycomb'
120             branch: '{branch}'
121
122     maven:
123         maven-name: 'mvn33-new'
124         root-pom: 'pom.xml'
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     logrotate:
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         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dmerge -Pbenchmark'
204         maven-opts: '-Xmx2048m -Dmaven.compile.fork=true'
205         settings: 'honeycomb-settings'
206         settings-type: cfp
207         global-settings: 'global-settings'
208         global-settings-type: cfp
209
210     publishers:
211         - plot:
212             - title: 'Infrastructure CFG write benchmark (simple-container)'
213               yaxis: 'ops/second'
214               csv-file-name: 'simple-container.csv'
215               group: 'infra-bench'
216               keep-records: true
217               numbuilds: '20'
218               style: 'line'
219               use-description: false
220               series:
221                 - file: 'infra/it/benchmark/target/simple-container.csv'
222                   display-table: true
223                   format: 'csv'
224                   inclusion-flag: 'include-by-string'
225                   exclude: 'persistence=true freq=1,persistence=true freq=10,persistence=false freq=1,persistence=false freq=10'
226             - title: 'Infrastructure CFG write benchmark (list-in-container)'
227               yaxis: 'ops/second'
228               csv-file-name: 'list-in-container.csv'
229               group: 'infra-bench'
230               keep-records: true
231               numbuilds: '20'
232               style: 'line'
233               use-description: false
234               series:
235                 - file: 'infra/it/benchmark/target/list-in-container.csv'
236                   display-table: true
237                   format: 'csv'
238                   inclusion-flag: 'include-by-string'
239                   exclude: 'persistence=true freq=1,persistence=true freq=10,persistence=false freq=1,persistence=false freq=10'
240             - title: 'Infrastructure CFG write benchmark (complex-list-in-container)'
241               yaxis: 'ops/second'
242               csv-file-name: 'complex-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/complex-list-in-container.csv'
250                   display-table: true
251                   format: 'csv'
252                   inclusion-flag: 'include-by-string'
253                   exclude: 'persistence=true freq=1,persistence=true freq=10,persistence=false freq=1,persistence=false freq=10'
254             - title: 'Infrastructure CFG read benchmark'
255               yaxis: 'ops/second'
256               csv-file-name: 'operational-read.csv'
257               group: 'infra-bench'
258               keep-records: true
259               numbuilds: '20'
260               style: 'line'
261               use-description: false
262               series:
263                 - file: 'infra/it/benchmark/target/operational-read.csv'
264                   display-table: true
265                   format: 'csv'
266                   inclusion-flag: 'include-by-string'
267                   exclude: 'simple-container,list-in-container,complex-list-in-container'
268         - fdio-infra-shiplogs:
269             maven-version: 'mvn33-new'