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