2aa6c68dca852da5840fbd222fd4c26f09609b4f
[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: '14'
14         artifactNumToKeep: '-1'
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-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-parameter:
179         branch: '{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         global-settings: '{odl-global-settings}'
204
205     publishers:
206     - email-notification:
207         email-prefix: '[releng]'
208
209 - job-template:
210     name: 'autorelease-site-verify-{stream}'
211     node: dynamic_verify
212     concurrent: true
213     jdk: 'openjdk8'
214
215     # This job's purpose is to verify maven site configuration
216
217     project-type: maven
218
219     logrotate:
220         daysToKeep: 7
221         numToKeep: 10
222         artifactDaysToKeep: -1
223         artifactNumToKeep: -1
224
225     parameters:
226     - project-parameter:
227         project: '{project}'
228     - gerrit-parameter:
229         branch: '{branch}'
230
231     scm:
232     - gerrit-trigger-scm:
233         credentials-id: '{ssh-credentials}'
234         refspec: '$GERRIT_REFSPEC'
235         choosing-strategy: 'gerrit'
236
237     wrappers:
238     - ssh-agent-credentials:
239         users:
240         - '{ssh-credentials}'
241
242     triggers:
243     - autorelease-trigger-patch-site-submitted:
244         name: '{project}'
245         branch: '{branch}'
246
247     maven:
248         maven-name: '{mvn33}'
249         root-pom: 'site.xml'
250         goals: 'site:site -Dstream={stream}'
251         maven-opts: '-Xmx1024m'
252         settings: '{autorelease-settings}'
253         global-settings: '{odl-global-settings}'
254
255     publishers:
256         - email-notification:
257             email-prefix: '[releng]'