6c906937df55c29d9916c7f0ad3f85aa76af65ab
[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         artifactDaysToKeep: '14'
13
14     parameters:
15         - project-parameter:
16             project: '{project}'
17         - autorelease-release-tag:
18             release-tag: '{next-release-tag}'
19         - autorelease-release-branch:
20             release-branch: '{branch}'
21
22     scm:
23         - git:
24             credentials-id: '{ssh-credentials}'
25             url: '$GIT_BASE'
26             refspec: ''
27             branches:
28                 - 'origin/{branch}'
29             skip-tag: true
30             submodule:
31                 recursive: true
32                 timeout: 60
33
34     wrappers:
35         - autorelease-build-timeout
36         - ssh-agent-credentials:
37             users:
38                 - '{ssh-credentials}'
39
40     triggers:
41         - timed: 'H 0 * * *'
42
43     prebuilders:
44         - wipe-local-maven-repo
45         - jacoco-nojava-workaround
46         - autorelease-cfp:
47             autorelease-settings: '{autorelease-settings}'
48             odl-global-settings: '{odl-global-settings}'
49         - autorelease-generate-taglist
50         - autorelease-distribute-taglist
51         - autorelease-generate-release-patches
52
53     maven:
54         maven-name: '{mvn33}'
55         root-pom: 'pom.xml'
56         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'
57         maven-opts: '-Xmx10g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
58         settings: '{autorelease-settings}'
59         settings-type: cfp
60         global-settings: '{odl-global-settings}'
61         global-settings-type: cfp
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/*.bundle,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-project-report-{stream}'
89
90     project-type: freestyle
91     node: dynamic_verify
92
93     logrotate:
94         daysToKeep: '{build-days-to-keep}'
95         numToKeep: '{build-num-to-keep}'
96         artifactDaysToKeep: '{build-artifact-days-to-keep}'
97         artifactNumToKeep: '{build-artifact-num-to-keep}'
98
99     parameters:
100         - project-parameter:
101             project: '{project}'
102         - string:
103             name: REPORT_DIR
104             default: '$WORKSPACE/project-reports'
105             description: "The directory containing project reports"
106
107     scm:
108         - git:
109             credentials-id: '{ssh-credentials}'
110             url: '$GIT_BASE'
111             refspec: ''
112             branches:
113                 - 'origin/{branch}'
114             skip-tag: true
115             submodule:
116                 recursive: true
117
118     wrappers:
119         - timeout:
120             type: absolute
121             timeout: 30
122             fail: true
123         - ssh-agent-credentials:
124             users:
125                 - '{ssh-credentials}'
126
127     triggers:
128         - timed: '0 0 * * 0'
129
130     builders:
131         - shell: 'echo "DATE=`date +%Y-%m-%d`" > $WORKSPACE/variables.prop'
132         - inject:
133             properties-file: variables.prop
134         - autorelease-generate-project-report
135         - shell: "./scripts/list-project-dependencies.sh"
136         - autorelease-sys-stats
137
138     publishers:
139     - archive-artifacts:
140         artifacts: '*.log,project-reports/*.log'
141     - email-ext:
142         attachments: 'project-reports/*.log'
143         recipients: 'skitt@redhat.com thanh.ha@linuxfoundation.org'
144         reply-to: dev@lists.opendaylight.org
145         content-type: default
146         subject: '[releng] ODL {stream} project report for ${{ENV, var="DATE"}}'
147         body: |
148             This is a project report generated on $DATE listing the commit
149             history of ODL projects for the past week. See attached
150             git-report.log
151
152             Archive also available on Jenkins at $BUILD_URL
153         always: true
154
155 ###
156 ### Maven Sites
157 ###
158
159 - job-template:
160     name: 'autorelease-site-publish-{stream}'
161     node: dynamic_merge
162     concurrent: false
163     jdk: 'openjdk8'
164
165     # This job's purpose is to publish maven site
166
167     project-type: maven
168
169     logrotate:
170         daysToKeep: 7
171         numToKeep: 10
172         artifactDaysToKeep: -1
173         artifactNumToKeep: -1
174
175     parameters:
176     - project-parameter:
177         project: '{project}'
178     - gerrit-parameters:
179         project: '{project}'
180         branch: '{branch}'
181         refspec: 'refs/heads/{branch}'
182
183     scm:
184     - gerrit-trigger-scm:
185         credentials-id: '{ssh-credentials}'
186         refspec: ''
187         choosing-strategy: 'default'
188
189     wrappers:
190     - ssh-agent-credentials:
191         users:
192         - '{ssh-credentials}'
193
194     triggers:
195     - autorelease-trigger-patch-site-merged:
196         name: '{project}'
197         branch: '{branch}'
198
199     maven:
200         maven-name: '{mvn33}'
201         root-pom: 'site.xml'
202         goals: 'site:site site:deploy -Dstream={stream}'
203         maven-opts: '-Xmx1024m'
204         settings: '{autorelease-settings}'
205         settings-type: cfp
206         global-settings: '{odl-global-settings}'
207         global-settings-type: cfp
208
209     publishers:
210     - email-notification:
211         email-prefix: '[releng]'
212
213 - job-template:
214     name: 'autorelease-site-verify-{stream}'
215     node: dynamic_verify
216     concurrent: true
217     jdk: 'openjdk8'
218
219     # This job's purpose is to verify maven site configuration
220
221     project-type: maven
222
223     logrotate:
224         daysToKeep: 7
225         numToKeep: 10
226         artifactDaysToKeep: -1
227         artifactNumToKeep: -1
228
229     parameters:
230     - project-parameter:
231         project: '{project}'
232     - gerrit-parameters:
233         project: '{project}'
234         branch: '{branch}'
235         refspec: 'refs/heads/{branch}'
236
237     scm:
238     - gerrit-trigger-scm:
239         credentials-id: '{ssh-credentials}'
240         refspec: '$GERRIT_REFSPEC'
241         choosing-strategy: 'gerrit'
242
243     wrappers:
244     - ssh-agent-credentials:
245         users:
246         - '{ssh-credentials}'
247
248     triggers:
249     - autorelease-trigger-patch-site-submitted:
250         name: '{project}'
251         branch: '{branch}'
252
253     maven:
254         maven-name: '{mvn33}'
255         root-pom: 'site.xml'
256         goals: 'site:site -Dstream={stream}'
257         maven-opts: '-Xmx1024m'
258         settings: '{autorelease-settings}'
259         settings-type: cfp
260         global-settings: '{odl-global-settings}'
261         global-settings-type: cfp
262
263     publishers:
264         - email-notification:
265             email-prefix: '[releng]'