Migrate autorelease job from maven to freestyle
[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: freestyle
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     builders:
45         - wipe-local-maven-repo
46         - jacoco-nojava-workaround
47         - shell: "./scripts/list-project-dependencies.sh"
48         - autorelease-cfp:
49             autorelease-settings: 'autorelease-settings'
50             odl-global-settings: 'odl-global-settings'
51         - autorelease-generate-taglist
52         - autorelease-distribute-taglist
53         - autorelease-generate-release-patches
54         - maven-target:
55               maven-version: '{mvn33}'
56               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               java-opts:
59                 - '-Xmx10g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
60               settings: 'autorelease-settings'
61               settings-type: cfp
62               global-settings: 'odl-global-settings'
63               global-settings-type: cfp
64         - autorelease-maven-deploy
65         - autorelease-get-integration-test-variables
66         - autorelease-maven-sources:
67             maven-version: '{mvn33}'
68             settings: 'autorelease-settings'
69             global-settings: 'odl-global-settings'
70         - autorelease-maven-sources-post-process
71         - autorelease-sys-stats
72         - shell: |
73             mkdir -p archives/
74             cp *.log *.prop $_
75
76     publishers:
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     - opendaylight-infra-shiplogs:
85         maven-version: '{mvn33}'
86
87 - job-template:
88     name: 'autorelease-project-report-{stream}'
89
90     project-type: freestyle
91     node: centos7-java-builder-2c-8g
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         - opendaylight-infra-parameters:
101             project: '{project}'
102             branch: '{branch}'
103             refspec: 'refs/heads/{branch}'
104             artifacts: '{archive-artifacts}'
105         - string:
106             name: REPORT_DIR
107             default: '$WORKSPACE/project-reports'
108             description: "The directory containing project reports"
109
110     scm:
111         - git:
112             credentials-id: 'opendaylight-jenkins-ssh'
113             url: '$GIT_BASE'
114             refspec: ''
115             branches:
116                 - 'origin/{branch}'
117             skip-tag: true
118             submodule:
119                 recursive: true
120
121     wrappers:
122         - opendaylight-infra-wrappers:
123             build-timeout: '30'
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     - email-ext:
138         attachments: 'project-reports/*.log'
139         recipients: 'skitt@redhat.com thanh.ha@linuxfoundation.org'
140         reply-to: dev@lists.opendaylight.org
141         content-type: default
142         subject: '[releng] ODL {stream} project report for ${{ENV, var="DATE"}}'
143         body: |
144             This is a project report generated on $DATE listing the commit
145             history of ODL projects for the past week. See attached
146             git-report.log
147
148             Archive also available on Jenkins at $BUILD_URL
149         always: true
150     - opendaylight-infra-shiplogs:
151         maven-version: '{mvn33}'
152
153 ###
154 ### Maven Sites
155 ###
156
157 - job-template:
158     name: 'autorelease-site-publish-{stream}'
159     node: centos7-java-builder-2c-8g
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         - opendaylight-infra-parameters:
175             project: '{project}'
176             branch: '{branch}'
177             refspec: 'refs/heads/{branch}'
178             artifacts: '{archive-artifacts}'
179
180     scm:
181     - gerrit-trigger-scm:
182         refspec: ''
183         choosing-strategy: 'default'
184
185     wrappers:
186         - opendaylight-infra-wrappers:
187             build-timeout: '{build-timeout}'
188
189     triggers:
190     - autorelease-trigger-patch-site-merged:
191         name: '{project}'
192         branch: '{branch}'
193
194     maven:
195         maven-name: '{mvn33}'
196         root-pom: 'site.xml'
197         goals: 'site:site site:deploy -Dstream={stream}'
198         maven-opts: '-Xmx1024m'
199         settings: 'autorelease-settings'
200         settings-type: cfp
201         global-settings: 'odl-global-settings'
202         global-settings-type: cfp
203
204     publishers:
205     - email-notification:
206         email-prefix: '[releng]'
207
208 - job-template:
209     name: 'autorelease-site-verify-{stream}'
210     node: centos7-java-builder-2c-8g
211     concurrent: true
212     jdk: 'openjdk8'
213
214     # This job's purpose is to verify maven site configuration
215
216     project-type: maven
217
218     logrotate:
219         daysToKeep: 7
220         numToKeep: 10
221         artifactDaysToKeep: -1
222         artifactNumToKeep: -1
223
224     parameters:
225         - opendaylight-infra-parameters:
226             project: '{project}'
227             branch: '{branch}'
228             refspec: 'refs/heads/{branch}'
229             artifacts: '{archive-artifacts}'
230
231     scm:
232     - gerrit-trigger-scm:
233         refspec: '$GERRIT_REFSPEC'
234         choosing-strategy: 'gerrit'
235
236     wrappers:
237         - opendaylight-infra-wrappers:
238             build-timeout: '{build-timeout}'
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         settings-type: cfp
252         global-settings: 'odl-global-settings'
253         global-settings-type: cfp
254
255     publishers:
256         - email-notification:
257             email-prefix: '[releng]'