hc2vpp.yaml revision be38d577
1- project:
2    name: hc2vpp
3    jobs:
4        - 'hc2vpp-verify-{stream}-{os}'
5        - 'hc2vpp-merge-{stream}-{os}'
6        - 'hc2vpp-integration-{stream}-{os}'
7        - 'hc2vpp-verify-image-{stream}-{os}'
8    project: 'hc2vpp'
9    os:
10        - ubuntu1604:
11            repo-os-part: 'ubuntu.xenial.main'
12            skip-site: 'false'
13            skip-jar-deploy: 'false'
14        - centos7:
15            repo-os-part: 'centos7'
16            skip-site: 'true'
17            skip-jar-deploy: 'true'
18    stream:
19        - master:
20            branch: 'master'
21            repo-stream-part: 'master'
22        - '1801':
23            branch: 'stable/1801'
24            repo-stream-part: 'stable.1801'
25        - '1804':
26            branch: 'stable/1804'
27            repo-stream-part: 'stable.1804'
28        - '1807':
29            branch: 'stable/1807'
30            repo-stream-part: 'stable.1807'
31
32- job-template:
33    name: 'hc2vpp-verify-{stream}-{os}'
34    project-type: maven
35    node: '{os}-basebuild-4c-4g'
36    concurrent: true
37    jdk: openjdk8-{os}
38
39    logrotate:
40        daysToKeep: '{build-days-to-keep}'
41        numToKeep: '{build-num-to-keep}'
42        artifactDaysToKeep: '{build-artifact-days-to-keep}'
43        artifactNumToKeep: '{build-artifact-num-to-keep}'
44
45    parameters:
46        - project-parameter:
47            project: '{project}'
48        - gerrit-parameter:
49            branch: '{branch}'
50        - os-parameter:
51            os: '{os}'
52
53    scm:
54        - gerrit-trigger-scm:
55            credentials-id: 'jenkins-gerrit-credentials'
56            refspec: '$GERRIT_REFSPEC'
57            choosing-strategy: 'gerrit'
58
59    wrappers:
60        - fdio-infra-wrappers:
61            build-timeout: '{build-timeout}'
62
63    triggers:
64        - gerrit-trigger-patch-submitted:
65            name: 'hc2vpp'
66            branch: '{branch}'
67
68    maven:
69        maven-name: 'mvn33-new'
70        root-pom: 'pom.xml'
71        goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dmerge site'
72        maven-opts: '-Xmx2048m -Dmaven.compile.fork=true'
73        settings: 'hc2vpp-settings'
74        settings-type: cfp
75        global-settings: 'global-settings'
76        global-settings-type: cfp
77
78    publishers:
79        - email-notification:
80            email-prefix: '[hc2vpp]'
81        - fdio-infra-shiplogs:
82            maven-version: 'mvn33-new'
83
84- job-template:
85    name: 'hc2vpp-verify-image-{stream}-{os}'
86    project-type: maven
87    node: '{os}-basebuild-4c-4g'
88    concurrent: true
89    jdk: openjdk8-{os}
90
91    logrotate:
92        daysToKeep: '{build-days-to-keep}'
93        numToKeep: '{build-num-to-keep}'
94        artifactDaysToKeep: '{build-artifact-days-to-keep}'
95        artifactNumToKeep: '{build-artifact-num-to-keep}'
96
97    parameters:
98        - project-parameter:
99            project: '{project}'
100        - gerrit-parameter:
101            branch: '{branch}'
102        - os-parameter:
103            os: '{os}'
104
105    scm:
106        - gerrit-trigger-scm:
107            credentials-id: 'jenkins-gerrit-credentials'
108            refspec: '$GERRIT_REFSPEC'
109            choosing-strategy: 'gerrit'
110
111    wrappers:
112        - fdio-infra-wrappers:
113            build-timeout: '{build-timeout}'
114
115    triggers:
116        - gerrit:
117            server-name: 'Primary'
118            trigger-on:
119                - comment-added-contains-event:
120                    comment-contains-value: 'verify-images'
121            projects:
122              - project-compare-type: 'ANT'
123                project-pattern: '{project}'
124                branches:
125                  - branch-compare-type: 'ANT'
126                    branch-pattern: '**/{branch}'
127            skip-vote:
128                successful: true
129                failed: true
130                unstable: true
131                notbuilt: true
132
133    maven:
134        maven-name: 'mvn33-new'
135        root-pom: 'pom.xml'
136        goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dmerge'
137        maven-opts: '-Xmx2048m -Dmaven.compile.fork=true'
138        settings: 'hc2vpp-settings'
139        settings-type: cfp
140        global-settings: 'global-settings'
141        global-settings-type: cfp
142
143    publishers:
144        - email-notification:
145            email-prefix: '[hc2vpp]'
146        - fdio-infra-shiplogs:
147            maven-version: 'mvn33-new'
148
149- job-template:
150    name: 'hc2vpp-merge-{stream}-{os}'
151    project-type: maven
152    node: '{os}-basebuild-4c-4g'
153    jdk: openjdk8-{os}
154
155    logrotate:
156        daysToKeep: '{build-days-to-keep}'
157        numToKeep: '{build-num-to-keep}'
158        artifactDaysToKeep: '{build-artifact-days-to-keep}'
159        artifactNumToKeep: '{build-artifact-num-to-keep}'
160
161    parameters:
162        - project-parameter:
163            project: '{project}'
164        - os-parameter:
165            os: '{os}'
166        - maven-project-parameter:
167            maven: 'mvn33-new'
168        - maven-exec:
169            maven-version: 'mvn33-new'
170        - repo-name-parameter:
171            repo-name: '{repo-stream-part}.{repo-os-part}'
172
173    scm:
174        - gerrit-trigger-scm:
175            credentials-id: 'jenkins-gerrit-credentials'
176            refspec: ''
177            choosing-strategy: 'default'
178
179    wrappers:
180        - ssh-agent-credentials:
181            users:
182                - 'jenkins-gerrit-credentials'
183        - fdio-infra-wrappers:
184            build-timeout: '{build-timeout}'
185
186    triggers:
187        - gerrit-trigger-patch-merged:
188            name: 'hc2vpp'
189            branch: '{branch}'
190
191    maven:
192        maven-name: 'mvn33-new'
193        root-pom: 'pom.xml'
194        goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dmerge -Dsonar -Ddocs.hc.folder=io/fd/hc2vpp -Dmaven.site.skip={skip-site} site -Dmaven.site.deploy.skip={skip-site} site:deploy'
195        maven-opts: '-Xmx2048m -Dmaven.compile.fork=true'
196        settings: 'hc2vpp-settings'
197        settings-type: cfp
198        global-settings: 'global-settings'
199        global-settings-type: cfp
200
201    reporters:
202        - findbugs
203
204    publishers:
205        - sonar:
206            jdk: 'openjdk8-{os}'
207            language: 'java'
208            branch: '{stream}'
209        - email-notification:
210            email-prefix: '[hc2vpp]'
211        - fdio-infra-shiplogs:
212            maven-version: 'mvn33-new'
213
214- job-template:
215    name: 'hc2vpp-integration-{stream}-{os}'
216    project-type: maven
217    node: '{os}-basebuild-4c-4g'
218    jdk: openjdk8-{os}
219
220    logrotate:
221        daysToKeep: '{build-days-to-keep}'
222        numToKeep: '{build-num-to-keep}'
223        artifactDaysToKeep: '{build-artifact-days-to-keep}'
224        artifactNumToKeep: '{build-artifact-num-to-keep}'
225
226    parameters:
227        - project-parameter:
228            project: '{project}'
229        - os-parameter:
230            os: '{os}'
231        - stream-parameter:
232            stream: '{stream}'
233        - maven-project-parameter:
234            maven: 'mvn33-new'
235        - maven-exec:
236            maven-version: 'mvn33-new'
237        - repo-name-parameter:
238            repo-name: '{repo-stream-part}.{repo-os-part}'
239        - string:
240            name: SKIP_JAR_DEPLOY
241            default: '{skip-jar-deploy}'
242            description: "Skips deployment of hc2vpp jars if variable is set to true"
243
244    scm:
245        - git-scm:
246            credentials-id: 'jenkins-gerrit-credentials'
247            refspec: ''
248            branch: '{branch}'
249
250    wrappers:
251        - ssh-agent-credentials:
252            users:
253                - 'jenkins-gerrit-credentials'
254        - fdio-infra-wrappers:
255            build-timeout: '{build-timeout}'
256
257    triggers:
258        - reverse:
259            jobs: 'vpp-merge-{stream}-{os},hc2vpp-merge-{stream}-{os}'
260            result: 'success'
261
262    prebuilders:
263        - shell:
264            !include-raw-escape: include-raw-hc2vpp-integration-prebuild.sh
265    maven:
266        maven-name: 'mvn33-new'
267        root-pom: 'pom.xml'
268        goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dmerge'
269        maven-opts: '-Xmx2048m -Dmaven.compile.fork=true'
270        settings: 'hc2vpp-settings'
271        settings-type: cfp
272        global-settings: 'global-settings'
273        global-settings-type: cfp
274
275    postbuilders:
276        - maven-target:
277            maven-version: 'mvn33-new'
278            goals: '--version'
279            settings: 'hc2vpp-settings'
280            settings-type: cfp
281            global-settings: 'global-settings'
282            global-settings-type: cfp
283        - provide-maven-settings:
284            settings-file: 'hc2vpp-settings'
285            global-settings-file: 'global-settings'
286        - shell:
287            !include-raw-escape:
288                - ../scripts/maven_push_functions.sh
289                - include-raw-hc2vpp-pkg-push.sh
290        - shell:
291            !include-raw-escape:
292                - ../scripts/packagecloud_push.sh
293    reporters:
294        - findbugs
295
296    publishers:
297        - email-notification:
298            email-prefix: '[hc2vpp]'
299        - maven-deploy:
300            id: ''
301            unique-version: true
302            deploy-unstable: false
303            release-env-var: SKIP_JAR_DEPLOY
304        - fdio-infra-shiplogs:
305            maven-version: 'mvn33-new'
306