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