honeycomb.yaml revision e5f1b44a
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'
277