Merge "BUG-2625: validate of-config using jdk8 only"
[releng/builder.git] / jjb / autorelease / autorelease-templates.yaml
1 # Autorelease build jobs
2
3 - job-template:
4     name: 'autorelease-release-{stream}'
5
6     project-type: maven
7     node: dynamic_autorelease
8     jdk: '{jdk}'
9
10     logrotate:
11         daysToKeep: '{build-days-to-keep}'
12         numToKeep: '{build-num-to-keep}'
13         artifactDaysToKeep: '{build-artifact-days-to-keep}'
14         artifactNumToKeep: '{build-artifact-num-to-keep}'
15
16     parameters:
17         - project-parameter:
18             project: '{project}'
19         - autorelease-release-tag:
20             release-tag: '{stream}-daily'
21         - autorelease-release-branch:
22             release-branch: '{branch}'
23         - autorelease-release-datestamp:
24             datestamp: true
25
26     scm:
27         - git:
28             credentials-id: '{ssh-credentials}'
29             url: '$GIT_BASE'
30             refspec: ''
31             branches:
32                 - 'origin/{branch}'
33             skip-tag: true
34             submodule:
35                 recursive: true
36
37     wrappers:
38         - autorelease-build-timeout
39         - ssh-agent-credentials:
40             users:
41                 - '{ssh-credentials}'
42
43     triggers:
44         - timed: 'H 0 * * *'
45
46     prebuilders:
47         - wipe-org-opendaylight-repo
48         - jacoco-nojava-workaround
49         - autorelease-cfp:
50             autorelease-settings: '{autorelease-settings}'
51             odl-global-settings: '{odl-global-settings}'
52         - autorelease-generate-taglist
53         - autorelease-generate-release-patches
54
55     maven:
56         maven-name: '{mvn33}'
57         root-pom: 'pom.xml'
58         goals: 'clean deploy -Pintegrationtests,docs,repoBuild -Djenkins -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage'
59         maven-opts: '-Xmx10g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
60         settings: '{autorelease-settings}'
61         global-settings: '{odl-global-settings}'
62         automatic-archiving: true
63         post-step-run-condition: UNSTABLE
64
65     postbuilders:
66         - autorelease-maven-deploy
67         - shell: "./scripts/list-project-dependencies.sh"
68         - autorelease-get-integration-test-variables
69         - autorelease-maven-sources:
70             maven-version: '{mvn33}'
71             settings: '{autorelease-settings}'
72             global-settings: '{odl-global-settings}'
73         - autorelease-maven-sources-post-process
74         - autorelease-sys-stats
75
76     publishers:
77     - archive-artifacts:
78         artifacts: '*.prop,*.log,patches/*.patch,patches/*.log'
79     - email-notification:
80         email-prefix: '[autorelease]'
81     - trigger-parameterized-builds:
82         - project: 'integration-distribution-test-{integration-test}'
83           condition: UNSTABLE_OR_BETTER
84           property-file: variables.prop
85           fail-on-missing: true
86
87 - job-template:
88     name: 'autorelease-release-test-{stream}'
89
90     project-type: maven
91     node: dynamic_autorelease
92     jdk: '{jdk}'
93
94     logrotate:
95         daysToKeep: '{build-days-to-keep}'
96         numToKeep: '{build-num-to-keep}'
97         artifactDaysToKeep: '{build-artifact-days-to-keep}'
98         artifactNumToKeep: '{build-artifact-num-to-keep}'
99
100     parameters:
101         - project-parameter:
102             project: '{project}'
103         - autorelease-release-tag:
104             release-tag: '{stream}-daily'
105         - autorelease-release-branch:
106             release-branch: '{branch}'
107         - autorelease-release-datestamp:
108             datestamp: true
109
110     scm:
111         - git:
112             credentials-id: '{ssh-credentials}'
113             url: '$GIT_BASE'
114             refspec: ''
115             branches:
116                 - 'origin/{branch}'
117             skip-tag: true
118             submodule:
119                 recursive: true
120
121     wrappers:
122         - autorelease-build-timeout
123         - ssh-agent-credentials:
124             users:
125                 - '{ssh-credentials}'
126
127     # triggers:
128     #     - timed: 'H 0 * * *'
129
130     prebuilders:
131         - wipe-org-opendaylight-repo
132         - jacoco-nojava-workaround
133         - autorelease-cfp:
134             autorelease-settings: '{autorelease-settings}'
135             odl-global-settings: '{odl-global-settings}'
136         - autorelease-generate-taglist
137         - autorelease-generate-release-patches
138
139     maven:
140         maven-name: '{mvn33}'
141         root-pom: 'pom.xml'
142         goals: 'clean deploy -Pintegrationtests,docs,repoBuild,offset0 -Djenkins -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage'
143         maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
144         settings: '{autorelease-settings}'
145         global-settings: '{odl-global-settings}'
146         automatic-archiving: true
147         post-step-run-condition: UNSTABLE
148
149     postbuilders:
150         - maven-target:
151             maven-version: '{mvn33}'
152             pom: 'pom.xml'
153             goals: 'clean deploy -Pintegrationtests,docs,repoBuild,offset1 -Djenkins -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage'
154             java-opts:
155                 - '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
156             settings: '{autorelease-settings}'
157             global-settings: '{odl-global-settings}'
158         - maven-target:
159             maven-version: '{mvn33}'
160             pom: 'pom.xml'
161             goals: 'clean deploy -Pintegrationtests,docs,repoBuild,offset2 -Djenkins -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage'
162             java-opts:
163                 - '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
164             settings: '{autorelease-settings}'
165             global-settings: '{odl-global-settings}'
166         - maven-target:
167             maven-version: '{mvn33}'
168             pom: 'pom.xml'
169             goals: 'clean deploy -Pintegrationtests,docs,repoBuild,offset3 -Djenkins -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage'
170             java-opts:
171                 - '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
172             settings: '{autorelease-settings}'
173             global-settings: '{odl-global-settings}'
174         - autorelease-maven-deploy
175         - shell: "./scripts/list-project-dependencies.sh"
176         - autorelease-get-integration-test-variables
177         - autorelease-maven-sources:
178             maven-version: '{mvn33}'
179             settings: '{autorelease-settings}'
180             global-settings: '{odl-global-settings}'
181         - autorelease-maven-sources-post-process
182         - autorelease-sys-stats
183
184     publishers:
185     - archive-artifacts:
186         artifacts: '*.prop,*.log,patches/*.patch,patches/*.log'
187     - email-notification:
188         email-prefix: '[autorelease]'
189     # - trigger-parameterized-builds:
190     #     - project: 'integration-distribution-test-{integration-test}'
191     #       condition: UNSTABLE_OR_BETTER
192     #       property-file: variables.prop
193     #       fail-on-missing: true
194
195 - job-template:
196     name: 'autorelease-project-report-{stream}'
197
198     project-type: freestyle
199     node: dynamic_verify
200
201     logrotate:
202         daysToKeep: '{build-days-to-keep}'
203         numToKeep: '{build-num-to-keep}'
204         artifactDaysToKeep: '{build-artifact-days-to-keep}'
205         artifactNumToKeep: '{build-artifact-num-to-keep}'
206
207     parameters:
208         - project-parameter:
209             project: '{project}'
210         - string:
211             name: REPORT_DIR
212             default: '$WORKSPACE/project-reports'
213             description: "The directory containing project reports"
214
215     scm:
216         - git:
217             credentials-id: '{ssh-credentials}'
218             url: '$GIT_BASE'
219             refspec: ''
220             branches:
221                 - 'origin/{branch}'
222             skip-tag: true
223             submodule:
224                 recursive: true
225
226     wrappers:
227         - timeout:
228             type: absolute
229             timeout: 30
230             fail: true
231         - ssh-agent-credentials:
232             users:
233                 - '{ssh-credentials}'
234
235     triggers:
236         - timed: '0 0 * * 0'
237
238     builders:
239         - shell: 'echo "DATE=`date +%Y-%m-%d`" > $WORKSPACE/variables.prop'
240         - inject:
241             properties-file: variables.prop
242         - autorelease-generate-project-report
243         - shell: "./scripts/list-project-dependencies.sh"
244         - autorelease-sys-stats
245
246     publishers:
247     - archive-artifacts:
248         artifacts: '*.log,project-reports/*.log'
249     - email-ext:
250         attachments: 'project-reports/*.log'
251         recipients: 'skitt@redhat.com thanh.ha@linuxfoundation.org'
252         reply-to: dev@lists.opendaylight.org
253         content-type: default
254         subject: '[releng] ODL {stream} project report for ${{ENV, var="DATE"}}'
255         body: |
256             This is a project report generated on $DATE listing the commit
257             history of ODL projects for the past week. See attached
258             git-report.log
259
260             Archive also available on Jenkins at $BUILD_URL
261         always: true
262
263 ###
264 ### Maven Sites
265 ###
266
267 - job-template:
268     name: 'autorelease-site-publish-{stream}'
269     node: dynamic_merge
270     concurrent: false
271     jdk: 'openjdk8'
272
273     # This job's purpose is to publish maven site
274
275     project-type: maven
276
277     logrotate:
278         daysToKeep: 7
279         numToKeep: 10
280         artifactDaysToKeep: -1
281         artifactNumToKeep: -1
282
283     parameters:
284     - project-parameter:
285         project: '{project}'
286     - gerrit-parameter:
287         branch: '{branch}'
288
289     scm:
290     - gerrit-trigger-scm:
291         credentials-id: '{ssh-credentials}'
292         refspec: ''
293         choosing-strategy: 'default'
294
295     wrappers:
296     - ssh-agent-credentials:
297         users:
298         - '{ssh-credentials}'
299
300     triggers:
301     - autorelease-trigger-patch-site-merged:
302         name: '{project}'
303         branch: '{branch}'
304
305     maven:
306         maven-name: '{mvn33}'
307         root-pom: 'site.xml'
308         goals: 'site:site site:deploy -Dstream={stream}'
309         maven-opts: '-Xmx1024m'
310         settings: '{autorelease-settings}'
311         global-settings: '{odl-global-settings}'
312
313     publishers:
314     - email-notification:
315         email-prefix: '[releng]'
316
317 - job-template:
318     name: 'autorelease-site-verify-{stream}'
319     node: dynamic_verify
320     concurrent: true
321     jdk: 'openjdk8'
322
323     # This job's purpose is to verify maven site configuration
324
325     project-type: maven
326
327     logrotate:
328         daysToKeep: 7
329         numToKeep: 10
330         artifactDaysToKeep: -1
331         artifactNumToKeep: -1
332
333     parameters:
334     - project-parameter:
335         project: '{project}'
336     - gerrit-parameter:
337         branch: '{branch}'
338
339     scm:
340     - gerrit-trigger-scm:
341         credentials-id: '{ssh-credentials}'
342         refspec: '$GERRIT_REFSPEC'
343         choosing-strategy: 'gerrit'
344
345     wrappers:
346     - ssh-agent-credentials:
347         users:
348         - '{ssh-credentials}'
349
350     triggers:
351     - autorelease-trigger-patch-site-submitted:
352         name: '{project}'
353         branch: '{branch}'
354
355     maven:
356         maven-name: '{mvn33}'
357         root-pom: 'site.xml'
358         goals: 'site:site -Dstream={stream}'
359         maven-opts: '-Xmx1024m'
360         settings: '{autorelease-settings}'
361         global-settings: '{odl-global-settings}'
362
363     publishers:
364         - email-notification:
365             email-prefix: '[releng]'