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