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