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