Merge "Remove all refs to nitrogen in packaging"
[releng/builder.git] / jjb / integration / distribution / distribution-jobs.yaml
1 ---
2 - project:
3     name: distribution
4     jobs:
5       # gerrit- is generic template, distribution- is project specific.
6       - 'distribution-merge-{stream}'
7       - 'distribution-verify-{stream}'
8       - 'distribution-check-{stream}'
9       - 'distribution-sanity-{stream}'
10       - gerrit-maven-clm
11       - gerrit-maven-verify-dependencies
12       - gerrit-tox-verify
13       - '{project-name}-rtd-jobs':
14           project-pattern: integration/distribution
15           rtd-build-url: https://readthedocs.org/api/v2/webhook/opendaylight-distribution/34591/
16           rtd-token: 6247e7a21158a20b207470b8bf7719c676ff8944
17
18     project: integration/distribution
19     project-name: distribution
20     mvn-settings: integration-distribution-settings
21     mvn-goals: 'clean install dependency:tree -DoutputFile=dependency_tree.txt'
22     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
23     dependencies: ''
24     email-upstream: '[int/dist]'
25
26     stream:
27       - fluorine:
28           branch: 'master'
29           karaf-version: odl
30           # Self-Managed projects repos and features:
31           sm-repos: >
32               mvn:org.opendaylight.sxp/features-sxp//xml/features
33           sm-features: >
34               odl-sxp-controller
35       - oxygen:
36           branch: 'stable/oxygen'
37           karaf-version: karaf4
38
39 - project:
40     name: distribution-sonar
41     jobs:
42       - gerrit-maven-sonar
43
44     project: integration/distribution
45     project-name: distribution
46     branch: master
47     mvn-settings: integration-distribution-settings
48     mvn-goals: clean install dependency:tree -DoutputFile=dependency_tree.txt
49     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
50
51 - job-template:
52     name: 'distribution-verify-{stream}'
53
54     project-type: freestyle
55     node: centos7-builder-8c-8g
56     concurrent: true
57     jdk: '{java-version}'
58
59     properties:
60       - opendaylight-infra-properties:
61           build-days-to-keep: '{build-days-to-keep}'
62
63     parameters:
64       - opendaylight-infra-parameters:
65           os-cloud: '{os-cloud}'
66           project: '{project}'
67           branch: '{branch}'
68           refspec: 'refs/heads/{branch}'
69           artifacts: '{archive-artifacts}'
70
71     scm:
72       - gerrit-trigger-scm:
73           refspec: '$GERRIT_REFSPEC'
74           choosing-strategy: 'gerrit'
75
76     wrappers:
77       - opendaylight-infra-wrappers:
78           build-timeout: '{build-timeout}'
79
80     triggers:
81       - gerrit-trigger-patch-submitted:
82           gerrit-server-name: '{gerrit-server-name}'
83           project: '{project}'
84           branch: '{branch}'
85           files: '**'
86
87     builders:
88       - wipe-org-opendaylight-repo
89       - provide-maven-settings:
90           global-settings-file: 'global-settings'
91           settings-file: 'integration-settings'
92       - maven-target:
93           maven-version: mvn35
94           pom: pom.xml
95           goals: |
96               clean install dependency:tree -DoutputFile=dependency_tree.txt
97               -Dstream={stream}
98               -Dsft.heap.max=4g
99               -Pmanaged -Punmanaged
100               {opendaylight-infra-mvn-opts}
101           # {opendaylight-infra-parallel-mvn-opts} is bad when there are multiple big features in SFT.
102           java-opts:
103             - '-Xmx1024m -XX:MaxPermSize=256m'
104           settings: integration-settings
105           settings-type: cfp
106           global-settings: global-settings
107           global-settings-type: cfp
108
109     publishers:
110       - findbugs
111       - lf-jacoco-report
112       - lf-infra-publish
113       - email-notification:
114           email-recipients: '{email-recipients}'
115           email-prefix: '[{project-name}]'
116
117 - job-template:
118     name: 'distribution-merge-{stream}'
119
120     # Need to keep jobs that deploy to Nexus at end of build as Maven
121     # projects. Maybe reconsider this once upstream moves deploy to a
122     # separate lifecycle:
123     #     https://issues.apache.org/jira/browse/MNG-5666
124
125     project-type: maven
126     node: 'centos7-builder-8c-8g'
127     jdk: '{java-version}'
128
129     properties:
130       - opendaylight-infra-properties:
131           build-days-to-keep: '{build-days-to-keep}'
132
133     parameters:
134       - opendaylight-infra-parameters:
135           os-cloud: '{os-cloud}'
136           project: '{project}'
137           branch: '{branch}'
138           refspec: 'refs/heads/{branch}'
139           artifacts: '{archive-artifacts}'
140       - distribution-karaf-version:
141           karaf-version: '{karaf-version}'
142
143     scm:
144       - gerrit-trigger-scm:
145           refspec: ''
146           choosing-strategy: 'default'
147
148     wrappers:
149       - opendaylight-infra-wrappers:
150           build-timeout: '{build-timeout}'
151
152     triggers:
153       - gerrit-trigger-patch-merged:
154           gerrit-server-name: '{gerrit-server-name}'
155           name: '{project}'
156           branch: '{branch}'
157
158     prebuilders:
159       - wipe-org-opendaylight-repo
160       - jacoco-nojava-workaround
161       - provide-maven-settings:
162           global-settings-file: 'global-settings'
163           settings-file: 'integration-settings'
164       - integration-set-variables
165       - distribute-build-url:
166           path: '$KARAF_ARTIFACT/src/main/assembly'
167
168     maven:
169       maven-name: 'mvn35'
170       root-pom: 'pom.xml'
171       goals: >
172           clean install dependency:tree -DoutputFile=dependency_tree.txt -V -B
173           -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
174           -Dsft.heap.max=4g
175           -Djenkins -Dmerge -Dstream={stream}
176           -Pmanaged -Punmanaged
177       maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
178       settings: integration-settings
179       settings-type: cfp
180       global-settings: global-settings
181       global-settings-type: cfp
182
183     postbuilders:
184       - integration-compare-distributions
185     # TODO: the output of the above command is not *friendly* for the reader because the most important info
186     # is listed last. This is fine/best for command line output, but for keeping in a file it would be better
187     # to put the summary at the beginning of the file. Some bash magic can be done here to make that happen.
188
189     reporters:
190       - findbugs
191
192     publishers:
193       - maven-deploy:
194           id: ''
195           unique-version: true
196           deploy-unstable: false
197       - lf-jacoco-report
198       - lf-infra-publish
199       - email-notification:
200           email-recipients: '{email-recipients}'
201           email-prefix: '[{project-name}]'
202
203 - job-template:
204     name: 'distribution-check-{stream}'
205
206     ######################
207     # Default parameters #
208     ######################
209
210     mvn-version: mvn35
211
212     #####################
213     # Job Configuration #
214     #####################
215
216     # Like a {project}-distribution-check, but few steps less as there is no upstream project involved.
217     disabled: false
218
219     project-type: freestyle
220     node: 'centos7-builder-8c-8g'
221     concurrent: true
222     jdk: '{java-version}'
223
224     properties:
225       - opendaylight-infra-properties:
226           build-days-to-keep: '{build-days-to-keep}'
227
228     parameters:
229       - opendaylight-infra-parameters:
230           os-cloud: '{os-cloud}'
231           project: '{project}'
232           branch: '{branch}'
233           refspec: 'refs/heads/{branch}'
234           artifacts: '{archive-artifacts}'
235       - integration-distribution-stream:
236           stream: '{stream}'
237       - distribution-karaf-version:
238           karaf-version: '{karaf-version}'
239       - maven-exec:
240           maven-version: mvn35
241
242     scm:
243       - integration-gerrit-scm:
244           basedir: 'distribution'
245           refspec: '$GERRIT_REFSPEC'
246           branch: '{branch}'
247
248     wrappers:
249       - opendaylight-infra-wrappers:
250           # Distro-check jobs typically run within 10 - 30 minutes
251           # with 45 minutes being the occassional edge case.
252           # enforce a 60 minute limit to ensure stuck jobs get
253           # cleared up sooner.
254           # Double that as Karaf 3+4 may take longer.
255           build-timeout: '120'
256
257     triggers:
258       - gerrit-trigger-patch-submitted:
259           gerrit-server-name: '{gerrit-server-name}'
260           project: '{project}'
261           branch: '{branch}'
262           files: '**'
263
264     builders:
265       - distribution-check-wipe
266       - inject:
267           properties-file: 'allowed_projects.txt'
268       - distribution-check-build-project:
269           pom: 'distribution/pom.xml'
270           mvn-opts: '{opendaylight-infra-mvn-opts}'
271           mvn-version: '{mvn-version}'
272           # '{opendaylight-infra-parallel-mvn-opts}' is bad when there are multiple big features in SFT.
273       - distribution-check-verify-groupid:
274           gerrit-project: 'integration'
275       - distribution-check-delete-snapshots
276       - distribution-check-configure-remotes
277       - distribution-check-repeat-project-build:
278           pom: 'distribution/pom.xml'
279           mvn-opts: '{opendaylight-infra-mvn-opts}'
280           mvn-version: '{mvn-version}'
281           # '{opendaylight-infra-parallel-mvn-opts}' is bad when there are multiple big features in SFT.
282       - integration-set-variables
283       - distribution-check-warn-9191
284       - distribution-check-warn-9192
285       - integration-upload-distribution:
286           dist-pom: distribution/pom.xml
287       - distribution-check-bootup
288
289     publishers:
290       - email-notification:
291           email-recipients: '{email-recipients}'
292           email-prefix: '[{project-name}]'
293       - integration-csit-archive-build
294       - lf-infra-publish
295
296 - job-template:
297     name: 'distribution-sanity-{stream}'
298     # Goal: Verify distribution starts with no issues when all features are loaded.
299     # Operation: This job deploys odl-integration-all + list of UM features.
300     # This jobs works for both managed & self-managed distro.
301
302     project-type: freestyle
303     node: centos7-builder-4c-4g
304     concurrent: false
305
306     properties:
307       - opendaylight-infra-properties:
308           build-days-to-keep: '{build-days-to-keep}'
309
310     parameters:
311       - opendaylight-infra-parameters:
312           os-cloud: '{os-cloud}'
313           project: '{project}'
314           branch: '{branch}'
315           refspec: 'refs/heads/{branch}'
316           artifacts: '{archive-artifacts}'
317       - integration-distribution-stream:
318           stream: '{stream}'
319       - integration-distribution-branch:
320           branch: '{branch}'
321       - integration-bundle-url:
322           bundle-url: '{bundle-url}'
323       - integration-repo-url:
324           repo-url: '{sm-repos}'
325       - integration-controller-features:
326           controller-features: '{sm-features}'
327       - integration-jdk-version:
328           jdkversion: '{jre}'
329       - distribution-karaf-version:
330           karaf-version: '{karaf-version}'
331
332     wrappers:
333       - opendaylight-infra-wrappers:
334           build-timeout: '{build-timeout}'
335
336     builders:
337       - integration-detect-variables
338       - distribution-check-bootup
339
340     publishers:
341       - email-notification:
342           email-recipients: '{email-recipients}'
343           email-prefix: '[{project-name}]'
344       - integration-csit-archive-build
345       - lf-infra-publish