Fix autorelease logrotate
[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: '{stream}-daily'
19         - autorelease-release-branch:
20             release-branch: '{branch}'
21         - autorelease-release-datestamp:
22             datestamp: true
23
24     scm:
25         - git:
26             credentials-id: '{ssh-credentials}'
27             url: '$GIT_BASE'
28             refspec: ''
29             branches:
30                 - 'origin/{branch}'
31             skip-tag: true
32             submodule:
33                 recursive: true
34
35     wrappers:
36         - autorelease-build-timeout
37         - ssh-agent-credentials:
38             users:
39                 - '{ssh-credentials}'
40
41     triggers:
42         - timed: 'H 0 * * *'
43
44     prebuilders:
45         - wipe-org-opendaylight-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-generate-release-patches
52
53     maven:
54         maven-name: '{mvn33}'
55         root-pom: 'pom.xml'
56         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'
57         maven-opts: '-Xmx10g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
58         settings: '{autorelease-settings}'
59         global-settings: '{odl-global-settings}'
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/*.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-parameter:
177         branch: '{branch}'
178
179     scm:
180     - gerrit-trigger-scm:
181         credentials-id: '{ssh-credentials}'
182         refspec: ''
183         choosing-strategy: 'default'
184
185     wrappers:
186     - ssh-agent-credentials:
187         users:
188         - '{ssh-credentials}'
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         global-settings: '{odl-global-settings}'
202
203     publishers:
204     - email-notification:
205         email-prefix: '[releng]'
206
207 - job-template:
208     name: 'autorelease-site-verify-{stream}'
209     node: dynamic_verify
210     concurrent: true
211     jdk: 'openjdk8'
212
213     # This job's purpose is to verify maven site configuration
214
215     project-type: maven
216
217     logrotate:
218         daysToKeep: 7
219         numToKeep: 10
220         artifactDaysToKeep: -1
221         artifactNumToKeep: -1
222
223     parameters:
224     - project-parameter:
225         project: '{project}'
226     - gerrit-parameter:
227         branch: '{branch}'
228
229     scm:
230     - gerrit-trigger-scm:
231         credentials-id: '{ssh-credentials}'
232         refspec: '$GERRIT_REFSPEC'
233         choosing-strategy: 'gerrit'
234
235     wrappers:
236     - ssh-agent-credentials:
237         users:
238         - '{ssh-credentials}'
239
240     triggers:
241     - autorelease-trigger-patch-site-submitted:
242         name: '{project}'
243         branch: '{branch}'
244
245     maven:
246         maven-name: '{mvn33}'
247         root-pom: 'site.xml'
248         goals: 'site:site -Dstream={stream}'
249         maven-opts: '-Xmx1024m'
250         settings: '{autorelease-settings}'
251         global-settings: '{odl-global-settings}'
252
253     publishers:
254         - email-notification:
255             email-prefix: '[releng]'