Add Maven site jobs for autorelease
[releng/builder.git] / jjb / autorelease / autorelease-templates.yaml
1 # Autorelease build jobs
2
3 - job-template:
4     name: 'autorelease-daily-{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: '{build-artifact-days-to-keep}'
14         artifactNumToKeep: '{build-artifact-num-to-keep}'
15
16     parameters:
17         - project-parameter:
18             project: '{project}'
19         - autorelease-release-tag:
20             release-tag: '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-generate-taglist
50         - autorelease-generate-release-patches
51
52     maven:
53         maven-name: '{mvn33}'
54         root-pom: 'pom.xml'
55         goals: 'clean install -Pintegrationtests,docs,repoBuild -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
56         maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
57         settings: '{autorelease-settings}'
58         global-settings: '{odl-global-settings}'
59         automatic-archiving: false
60         post-step-run-condition: UNSTABLE
61
62     postbuilders:
63         - shell: "./scripts/list-project-dependencies.sh"
64         - autorelease-maven-sources:
65             maven-version: '{mvn33}'
66             settings: '{autorelease-settings}'
67             global-settings: '{odl-global-settings}'
68         - autorelease-maven-sources-post-process
69         - autorelease-sys-stats
70
71     publishers:
72         - archive-artifacts:
73             artifacts: '*.log,patches/*.patch'
74         - email-notification:
75             email-prefix: '[autorelease]'
76
77
78 - job-template:
79     name: 'autorelease-release-{stream}'
80
81     project-type: maven
82     node: dynamic_autorelease
83     jdk: '{jdk}'
84
85     logrotate:
86         daysToKeep: '{build-days-to-keep}'
87         numToKeep: '{build-num-to-keep}'
88         artifactDaysToKeep: '{build-artifact-days-to-keep}'
89         artifactNumToKeep: '{build-artifact-num-to-keep}'
90
91     parameters:
92         - project-parameter:
93             project: '{project}'
94         - autorelease-release-tag:
95             release-tag: 'Test-{stream}'
96         - autorelease-release-branch:
97             release-branch: '{branch}'
98         - autorelease-release-datestamp:
99             datestamp: false
100
101     scm:
102         - git:
103             credentials-id: '{ssh-credentials}'
104             url: '$GIT_BASE'
105             refspec: ''
106             branches:
107                 - 'origin/{branch}'
108             skip-tag: true
109             submodule:
110                 recursive: true
111
112     wrappers:
113         - autorelease-build-timeout
114         - ssh-agent-credentials:
115             users:
116                 - '{ssh-credentials}'
117
118     prebuilders:
119         - wipe-org-opendaylight-repo
120         - jacoco-nojava-workaround
121         - autorelease-generate-taglist
122         - autorelease-generate-release-patches
123
124     maven:
125         maven-name: '{mvn33}'
126         root-pom: 'pom.xml'
127         goals: 'clean install -Pintegrationtests,docs,repoBuild -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
128         maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
129         settings: '{autorelease-settings}'
130         global-settings: '{odl-global-settings}'
131         automatic-archiving: true
132         post-step-run-condition: UNSTABLE
133
134     postbuilders:
135         - autorelease-cfp:
136             autorelease-settings: '{autorelease-settings}'
137             odl-global-settings: '{odl-global-settings}'
138         - autorelease-maven-deploy
139         - shell: "./scripts/list-project-dependencies.sh"
140         - autorelease-get-integration-test-variables
141         - autorelease-maven-sources:
142             maven-version: '{mvn33}'
143             settings: '{autorelease-settings}'
144             global-settings: '{odl-global-settings}'
145         - autorelease-maven-sources-post-process
146         - autorelease-sys-stats
147
148     publishers:
149     - archive-artifacts:
150         artifacts: '*.prop,*.log,patches/*.patch'
151     - email-notification:
152         email-prefix: '[autorelease]'
153     - trigger-parameterized-builds:
154         - project: 'integration-distribution-test-{integration-test}'
155           condition: UNSTABLE_OR_BETTER
156           property-file: variables.prop
157           fail-on-missing: true
158
159 ###
160 ### Maven Sites
161 ###
162
163 - job-template:
164     name: 'autorelease-site-publish-{stream}'
165     node: dynamic_merge
166     concurrent: false
167     jdk: 'openjdk8'
168
169     # This job's purpose is to publish maven site
170
171     project-type: maven
172
173     logrotate:
174         daysToKeep: 7
175         numToKeep: 10
176         artifactDaysToKeep: -1
177         artifactNumToKeep: -1
178
179     parameters:
180     - project-parameter:
181         project: '{project}'
182     - gerrit-parameter:
183         branch: '{branch}'
184
185     scm:
186     - gerrit-trigger-scm:
187         credentials-id: '{ssh-credentials}'
188         refspec: ''
189         choosing-strategy: 'default'
190
191     wrappers:
192     - ssh-agent-credentials:
193         users:
194         - '{ssh-credentials}'
195
196     triggers:
197     - gerrit-trigger-patch-site-merged:
198         name: '{project}'
199         branch: '{branch}'
200
201     maven:
202         maven-name: '{mvn33}'
203         root-pom: 'pom.xml'
204         goals: 'site:site site:deploy -Dstream={stream}'
205         maven-opts: '-Xmx1024m'
206         settings: '{releng-builder-settings}'
207         global-settings: '{odl-global-settings}'
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-parameter:
233         branch: '{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     - gerrit-trigger-patch-submitted:
248         name: '{project}'
249         branch: '{branch}'
250
251     maven:
252         maven-name: '{mvn33}'
253         root-pom: 'pom.xml'
254         goals: 'site:site -Dstream={stream}'
255         maven-opts: '-Xmx1024m'
256         settings: '{autorelease-settings}'
257         global-settings: '{odl-global-settings}'
258
259     publishers:
260         - email-notification:
261             email-prefix: '[releng]'