Merge "fixing docs to make the YAML valid"
[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: 'opendaylight-jenkins-ssh'
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         - opendaylight-infra-wrappers:
36             build-timeout: '1440'
37
38     triggers:
39         - timed: 'H 0 * * *'
40
41     prebuilders:
42         - wipe-local-maven-repo
43         - jacoco-nojava-workaround
44         - autorelease-cfp:
45             autorelease-settings: 'autorelease-settings'
46             odl-global-settings: 'odl-global-settings'
47         - autorelease-generate-taglist
48         - autorelease-distribute-taglist
49         - autorelease-generate-release-patches
50
51     maven:
52         maven-name: '{mvn33}'
53         root-pom: 'pom.xml'
54         goals: 'clean deploy -V -B -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: 'opendaylight-jenkins-ssh'
108             url: '$GIT_BASE'
109             refspec: ''
110             branches:
111                 - 'origin/{branch}'
112             skip-tag: true
113             submodule:
114                 recursive: true
115
116     wrappers:
117         - opendaylight-infra-wrappers:
118             build-timeout: '30'
119
120     triggers:
121         - timed: '0 0 * * 0'
122
123     builders:
124         - shell: 'echo "DATE=`date +%Y-%m-%d`" > $WORKSPACE/variables.prop'
125         - inject:
126             properties-file: variables.prop
127         - autorelease-generate-project-report
128         - shell: "./scripts/list-project-dependencies.sh"
129         - autorelease-sys-stats
130
131     publishers:
132     - archive-artifacts:
133         artifacts: '*.log,project-reports/*.log'
134     - email-ext:
135         attachments: 'project-reports/*.log'
136         recipients: 'skitt@redhat.com thanh.ha@linuxfoundation.org'
137         reply-to: dev@lists.opendaylight.org
138         content-type: default
139         subject: '[releng] ODL {stream} project report for ${{ENV, var="DATE"}}'
140         body: |
141             This is a project report generated on $DATE listing the commit
142             history of ODL projects for the past week. See attached
143             git-report.log
144
145             Archive also available on Jenkins at $BUILD_URL
146         always: true
147
148 ###
149 ### Maven Sites
150 ###
151
152 - job-template:
153     name: 'autorelease-site-publish-{stream}'
154     node: dynamic_merge
155     concurrent: false
156     jdk: 'openjdk8'
157
158     # This job's purpose is to publish maven site
159
160     project-type: maven
161
162     logrotate:
163         daysToKeep: 7
164         numToKeep: 10
165         artifactDaysToKeep: -1
166         artifactNumToKeep: -1
167
168     parameters:
169     - project-parameter:
170         project: '{project}'
171     - gerrit-parameters:
172         project: '{project}'
173         branch: '{branch}'
174         refspec: 'refs/heads/{branch}'
175
176     scm:
177     - gerrit-trigger-scm:
178         refspec: ''
179         choosing-strategy: 'default'
180
181     wrappers:
182         - opendaylight-infra-wrappers:
183             build-timeout: '{build-timeout}'
184
185     triggers:
186     - autorelease-trigger-patch-site-merged:
187         name: '{project}'
188         branch: '{branch}'
189
190     maven:
191         maven-name: '{mvn33}'
192         root-pom: 'site.xml'
193         goals: 'site:site site:deploy -Dstream={stream}'
194         maven-opts: '-Xmx1024m'
195         settings: 'autorelease-settings'
196         settings-type: cfp
197         global-settings: 'odl-global-settings'
198         global-settings-type: cfp
199
200     publishers:
201     - email-notification:
202         email-prefix: '[releng]'
203
204 - job-template:
205     name: 'autorelease-site-verify-{stream}'
206     node: dynamic_verify
207     concurrent: true
208     jdk: 'openjdk8'
209
210     # This job's purpose is to verify maven site configuration
211
212     project-type: maven
213
214     logrotate:
215         daysToKeep: 7
216         numToKeep: 10
217         artifactDaysToKeep: -1
218         artifactNumToKeep: -1
219
220     parameters:
221     - project-parameter:
222         project: '{project}'
223     - gerrit-parameters:
224         project: '{project}'
225         branch: '{branch}'
226         refspec: 'refs/heads/{branch}'
227
228     scm:
229     - gerrit-trigger-scm:
230         refspec: '$GERRIT_REFSPEC'
231         choosing-strategy: 'gerrit'
232
233     wrappers:
234         - opendaylight-infra-wrappers:
235             build-timeout: '{build-timeout}'
236
237     triggers:
238     - autorelease-trigger-patch-site-submitted:
239         name: '{project}'
240         branch: '{branch}'
241
242     maven:
243         maven-name: '{mvn33}'
244         root-pom: 'site.xml'
245         goals: 'site:site -Dstream={stream}'
246         maven-opts: '-Xmx1024m'
247         settings: 'autorelease-settings'
248         settings-type: cfp
249         global-settings: 'odl-global-settings'
250         global-settings-type: cfp
251
252     publishers:
253         - email-notification:
254             email-prefix: '[releng]'