6af7324a69dd85e263a851823b6b3fac2f1cd469
[releng/builder.git] / jjb / packaging / packaging.yaml
1 ---
2 - project:
3     name: packaging
4     project-name: packaging
5
6     jobs:
7       - '{project-name}-verify-tox-master'
8       - 'packaging-build-rpm-{stream}'
9       - 'packaging-build-rpm-snap-{stream}'
10       - 'packaging-build-deb-{stream}'
11       - 'packaging-test-rpm-master'
12       - 'packaging-test-rpm-upgrade-master'
13       - 'packaging-test-deb-master'
14
15     project: 'integration/packaging'
16
17     stream:
18       - boron
19       - carbon
20       - nitrogen
21       - oxygen
22     branch: 'master'
23
24
25 - job-template:
26     name: 'packaging-build-rpm-{stream}'
27
28     node: centos7-java-builder-2c-4g
29
30     project-type: freestyle
31
32     mvn-opts: ''
33     mvn-params: ''
34     mvn-version: mvn33
35
36     properties:
37       - opendaylight-infra-properties:
38           build-days-to-keep: 7
39
40     parameters:
41       - opendaylight-infra-parameters:
42           os-cloud: '{os-cloud}'
43           project: '{project}'
44           branch: '{branch}'
45           refspec: 'refs/heads/{branch}'
46           artifacts: '{archive-artifacts}'
47       - lf-infra-maven-parameters:
48           mvn-opts: '{mvn-opts}'
49           mvn-params: '{mvn-params}'
50           mvn-version: '{mvn-version}'
51           staging-profile-id: ''
52       - string:
53           name: DOWNLOAD_URL
54           # yamllint disable-line rule:line-length
55           default: 'https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.6.0-Carbon/distribution-karaf-0.6.0-Carbon.tar.gz'
56           description: 'URL to ODL tarball artifact to repackage into RPM'
57       - string:
58           name: CHANGELOG_NAME
59           default: 'Jenkins'
60           description: 'Name of person who defined RPM'
61       - string:
62           name: CHANGELOG_EMAIL
63           default: 'jenkins-donotreply@opendaylight.org'
64           description: 'Email of person who defined RPM'
65
66     scm:
67       - integration-gerrit-scm:
68           basedir: 'packaging'
69           refspec: '$GERRIT_REFSPEC'
70           branch: 'master'
71
72     wrappers:
73       - opendaylight-infra-wrappers:
74           build-timeout: '{build-timeout}'
75
76     builders:
77       - shell: !include-raw: build-rpm.sh
78       - lf-infra-deploy-maven-file:
79           global-settings-file: 'global-settings'
80           settings-file: 'packaging-settings'
81           mvn-version: 'mvn33'
82           repo-id: 'opendaylight-{stream}-epel-7-x86_64-devel'
83           group-id: 'org.opendaylight.integration-packaging'
84           files-dir: '$WORKSPACE/upload_files'
85
86     publishers:
87       - lf-infra-publish
88
89
90 - job-template:
91     name: 'packaging-build-rpm-snap-{stream}'
92
93     node: centos7-java-builder-2c-4g
94
95     project-type: freestyle
96
97     mvn-opts: ''
98     mvn-params: ''
99     mvn-version: mvn33
100
101     properties:
102       - opendaylight-infra-properties:
103           build-days-to-keep: 7
104
105     parameters:
106       - opendaylight-infra-parameters:
107           os-cloud: '{os-cloud}'
108           project: '{project}'
109           branch: '{branch}'
110           refspec: 'refs/heads/{branch}'
111           artifacts: '{archive-artifacts}'
112       - lf-infra-maven-parameters:
113           mvn-opts: '{mvn-opts}'
114           mvn-params: '{mvn-params}'
115           mvn-version: '{mvn-version}'
116           staging-profile-id: ''
117       - string:
118           name: VERSION_MAJOR
119           default: '7'
120           description: 'OpenDaylight major (element) version number to build'
121       - string:
122           name: VERSION_MINOR
123           default: '0'
124           description: 'OpenDaylight minor (SR) version number to build'
125       - string:
126           name: CHANGELOG_NAME
127           default: 'Jenkins'
128           description: 'Name of person who defined RPM'
129       - string:
130           name: CHANGELOG_EMAIL
131           default: 'jenkins-donotreply@opendaylight.org'
132           description: 'Email of person who defined RPM'
133
134     scm:
135       - integration-gerrit-scm:
136           basedir: 'packaging'
137           refspec: '$GERRIT_REFSPEC'
138           branch: 'master'
139
140     wrappers:
141       - opendaylight-infra-wrappers:
142           build-timeout: '{build-timeout}'
143
144     builders:
145       - shell: !include-raw: build-rpm-snap.sh
146       - lf-infra-deploy-maven-file:
147           global-settings-file: 'global-settings'
148           settings-file: 'packaging-settings'
149           mvn-version: 'mvn33'
150           repo-id: 'opendaylight-{stream}-epel-7-x86_64-devel'
151           group-id: 'org.opendaylight.integration-packaging'
152           files-dir: '$WORKSPACE/upload_files'
153
154     triggers:
155       - timed: '@daily'
156
157     publishers:
158       - lf-infra-publish
159
160
161 - job-template:
162     name: 'packaging-test-rpm-master'
163
164     node: centos7-java-builder-2c-4g
165
166     parameters:
167       - opendaylight-infra-parameters:
168           os-cloud: '{os-cloud}'
169           project: '{project}'
170           branch: '{branch}'
171           refspec: 'refs/heads/{branch}'
172           artifacts: '{archive-artifacts}'
173       - string:
174           name: URL
175           # yamllint disable-line rule:line-length
176           default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/rpm/example_repo_configs/opendaylight-60-release.repo'
177           description: 'Link to .repo or .rpm file'
178
179     scm:
180       - integration-gerrit-scm:
181           basedir: 'packaging'
182           refspec: '$GERRIT_REFSPEC'
183           branch: 'master'
184
185     wrappers:
186       - opendaylight-infra-wrappers:
187           build-timeout: '{build-timeout}'
188
189     builders:
190       - shell: !include-raw: install-rpm.sh
191       - shell: !include-raw: start-odl.sh
192       - shell: |
193           # Install expect to interact with Karaf shell
194           sudo yum install -y expect
195           # Install nmap to check status of ODL's SSH port
196           sudo yum install -y nmap
197       - shell: !include-raw: include-raw-test-karaf.expect
198       - shell: !include-raw: stop-odl.sh
199
200     publishers:
201       # TODO: Remove the archive publisher
202       #       small data should be stored on logs.opendaylight.org
203       #       large data should be stored on nexus.opendaylight.org
204       - archive:
205           artifacts: '**'
206           allow-empty: true
207           fingerprint: true
208           latest-only: true
209       - lf-infra-publish
210
211
212 - job-template:
213     name: 'packaging-test-rpm-upgrade-master'
214
215     node: centos7-java-builder-2c-4g
216
217     parameters:
218       - opendaylight-infra-parameters:
219           os-cloud: '{os-cloud}'
220           project: '{project}'
221           branch: '{branch}'
222           refspec: 'refs/heads/{branch}'
223           artifacts: '{archive-artifacts}'
224       - string:
225           name: URL
226           # yamllint disable-line rule:line-length
227           default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/rpm/example_repo_configs/opendaylight-6-release.repo'
228           description: 'Link to .repo or .rpm file'
229       - string:
230           name: UPGRADE_URL
231           # yamllint disable-line rule:line-length
232           default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/rpm/example_repo_configs/opendaylight-6-testing.repo'
233           description: 'Link to .repo or .rpm file'
234
235     scm:
236       - integration-gerrit-scm:
237           basedir: 'packaging'
238           refspec: '$GERRIT_REFSPEC'
239           branch: 'master'
240
241     wrappers:
242       - opendaylight-infra-wrappers:
243           build-timeout: '{build-timeout}'
244
245     builders:
246       - shell: !include-raw: install-rpm.sh
247       - shell: !include-raw: start-odl.sh
248       - shell: |
249           # Install expect to interact with Karaf shell
250           sudo yum install -y expect
251           # Install nmap to check status of ODL's SSH port
252           sudo yum install -y nmap
253       - shell: !include-raw: include-raw-test-karaf.expect
254       - shell: !include-raw: stop-odl.sh
255       - shell: !include-raw: test-rpm-upgrade.sh
256       - shell: !include-raw: start-odl.sh
257       - shell: !include-raw: include-raw-test-karaf.expect
258       - shell: !include-raw: stop-odl.sh
259
260     publishers:
261       - lf-infra-publish
262
263
264 - job-template:
265     name: 'packaging-test-deb-master'
266
267     node: ubuntu1604-mininet-ovs-25-2c-4g
268
269     parameters:
270       - opendaylight-infra-parameters:
271           os-cloud: '{os-cloud}'
272           project: '{project}'
273           branch: '{branch}'
274           refspec: 'refs/heads/{branch}'
275           artifacts: '{archive-artifacts}'
276       - string:
277           name: PACKAGE
278           default: 'ppa:odl-team/carbon'
279           description: 'Link to .deb package or name of PPA repo'
280
281     scm:
282       - integration-gerrit-scm:
283           basedir: 'packaging'
284           refspec: '$GERRIT_REFSPEC'
285           branch: 'master'
286
287     wrappers:
288       - opendaylight-infra-wrappers:
289           build-timeout: '{build-timeout}'
290
291     builders:
292       - shell: !include-raw: install-deb.sh
293       - shell: !include-raw: start-odl.sh
294       - shell: |
295           # Install expect to interact with Karaf shell
296           sudo apt-get install -y expect
297           # Install nmap to check status of ODL's SSH port
298           sudo apt-get install -y nmap
299       - shell: !include-raw: include-raw-test-karaf.expect
300       - shell: !include-raw: stop-odl.sh
301
302     publishers:
303       - lf-infra-publish
304
305
306 - job-template:
307     name: 'packaging-build-deb-{stream}'
308
309     node: ubuntu1604-mininet-ovs-25-2c-4g
310
311     project-type: freestyle
312
313     mvn-opts: ''
314     mvn-params: ''
315     mvn-version: mvn33
316
317     properties:
318       - opendaylight-infra-properties:
319           build-days-to-keep: 7
320
321     parameters:
322       - opendaylight-infra-parameters:
323           os-cloud: '{os-cloud}'
324           project: '{project}'
325           branch: '{branch}'
326           refspec: 'refs/heads/{branch}'
327           artifacts: '{archive-artifacts}'
328       - lf-infra-maven-parameters:
329           mvn-opts: '{mvn-opts}'
330           mvn-params: '{mvn-params}'
331           mvn-version: '{mvn-version}'
332           staging-profile-id: ''
333       - string:
334           name: VERSION_MAJOR
335           default: '5'
336           description: 'OpenDaylight major (element) version number to build'
337       - string:
338           name: VERSION_MINOR
339           default: '3'
340           description: 'OpenDaylight minor (SR) version number to build'
341       - string:
342           name: VERSION_PATCH
343           default: '0'
344           description: 'OpenDaylight patch version to build'
345       - string:
346           name: PKG_VERSION
347           default: '1'
348           description: 'Deb version for the given ODL major.minor.patch'
349       - string:
350           name: SYSD_COMMIT
351           default: 'ba1f409c1a46efd068b16ced6ddc8b32a412b03a'
352           description: 'Version of ODL systemd unitfile to download and package in ODL .deb'
353       - string:
354           name: CODENAME
355           default: 'Boron-SR3'
356           description: 'Elemental codename for the ODL release, including SR if applicable'
357       - string:
358           name: DOWNLOAD_URL
359           # yamllint disable-line rule:line-length
360           default: 'https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.5.3-Boron-SR3/distribution-karaf-0.5.3-Boron-SR3.tar.gz'
361           description: 'URL to ODL tarball artifact to repackage into .deb'
362       - string:
363           name: JAVA_VERSION
364           default: '8'
365           description: Java dependency for the ODL release
366       - string:
367           name: JAVA_HOME
368           default: '/usr/lib/jvm/java-8-openjdk-amd64/'
369           description: Set JAVA_HOME to openjdk8
370       - string:
371           name: CHANGELOG_DATE
372           default: 'Mon, 1 Aug 2016'
373           description: 'Date this .deb was defined'
374       - string:
375           name: CHANGELOG_TIME
376           default: '17:48:42 +0530'
377           description: 'Time this .deb was defined'
378       - string:
379           name: CHANGELOG_NAME
380           default: 'Jenkins'
381           description: 'Name of person who defined .deb'
382       - string:
383           name: CHANGELOG_EMAIL
384           default: 'jenkins-donotreply@opendaylight.org'
385           description: 'Email of person who defined .deb'
386
387     scm:
388       - integration-gerrit-scm:
389           basedir: 'packaging'
390           refspec: '$GERRIT_REFSPEC'
391           branch: 'master'
392
393     wrappers:
394       - opendaylight-infra-wrappers:
395           build-timeout: '{build-timeout}'
396
397     builders:
398       - shell: !include-raw: build-deb.sh
399       - lf-infra-deploy-maven-file:
400           global-settings-file: 'global-settings'
401           settings-file: 'packaging-settings'
402           mvn-version: '{mvn-version}'
403           repo-id: 'opendaylight-{stream}-ubuntu-1604-x86_64-devel'
404           group-id: 'org.opendaylight.integration-packaging'
405           files-dir: '$WORKSPACE/upload_files'
406
407     publishers:
408       - lf-infra-publish