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