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