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