Update automated project templates
[releng/builder.git] / jjb / cardinal / cardinal.yaml
1 # REMOVE THIS LINE IF YOU WANT TO CUSTOMIZE ANYTHING BELOW
2 # Otherwise this file will be automatically overwritten by the template
3 # autobuilder.
4
5 # ODL Releng build templates
6 - project:
7     name: cardinal
8     jobs:
9         - '{name}-clm-{stream}'
10         - '{name}-distribution-{stream}'
11         - '{name}-distribution-check-{stream}'
12         - '{name}-integration-{stream}'
13         - '{name}-periodic-{stream}'
14         - '{name}-validate-autorelease-{stream}'
15         - 'cardinal-verify-{stream}'
16         - 'cardinal-merge-{stream}'
17         - 'cardinal-sonar'
18
19
20     # stream:    release stream (eg. stable-lithium or beryllium)
21     # branch:    git branch (eg. stable/lithium or master)
22     stream:
23         - boron:
24             branch: 'master'
25             jdk: openjdk8
26             jdks:
27                 - openjdk8
28             disable_autorelease: False
29             disable_distribution_check: False
30
31     project: 'cardinal'
32     mvn-settings: 'cardinal-settings'
33     mvn-goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
34     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
35     dependencies: 'controller-merge-{stream},yangtools-merge-{stream},odlparent-merge-{stream},openflowplugin-merge-{stream},iotdm-merge-{stream},sfc-merge-{stream}'
36     email-upstream: '[cardinal] [controller] [yangtools] [odlparent] [openflowplugin] [iotdm] [sfc]'
37
38 # For the Job templates below replace instances of:
39 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
40 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
41 # MAVEN_GOALS with your maven goals to build
42 # MAVEN_OPTS with your maven options to build
43
44 - job-template:
45     name: 'cardinal-verify-{stream}'
46
47     # Job template for ODL verify jobs
48     #
49     # The purpose of this job template is to setup a ODL verify job
50     #
51     # Required Variables:
52     #     stream:    release stream (eg. stable-lithium or beryllium)
53     #     branch:    git branch (eg. stable/lithium or master)
54
55     project-type: matrix
56     node: matrix_master
57     concurrent: true
58
59     axes:
60         - axis:
61             type: slave
62             name: nodes
63             values:
64                 - dynamic_verify
65         - axis:
66             type: jdk
67             values: '{obj:jdks}'
68
69     logrotate:
70         daysToKeep: '14'
71
72     parameters:
73         - project-parameter:
74             project: '{project}'
75         - gerrit-parameters:
76             project: '{project}'
77             branch: '{branch}'
78             refspec: 'refs/heads/{branch}'
79
80     scm:
81         - gerrit-trigger-scm:
82             refspec: '$GERRIT_REFSPEC'
83             choosing-strategy: 'gerrit'
84
85     wrappers:
86         - opendaylight-infra-wrappers:
87             build-timeout: '{build-timeout}'
88
89     triggers:
90         - gerrit-trigger-patch-submitted:
91             name: 'cardinal'
92             branch: '{branch}'
93
94     builders:
95         - jacoco-nojava-workaround
96         - provide-maven-settings:
97             global-settings-file: 'odl-global-settings'
98             settings-file: 'cardinal-settings'
99         - maven-target:
100             maven-version: '{mvn33}'
101             pom: 'pom.xml'
102             goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -V -B -Djenkins -Dstream={stream}'
103             java-opts:
104                 - '-Xmx1024m -XX:MaxPermSize=256m'
105             settings: 'cardinal-settings'
106             settings-type: cfp
107             global-settings: 'odl-global-settings'
108             global-settings-type: cfp
109
110     publishers:
111         - archive-artifacts:
112             artifacts: '**/target/surefire-reports/*-output.txt, '
113         - findbugs
114         - email-notification:
115             email-prefix: '[cardinal]'
116         - jacoco-report
117         - archive-build:
118             maven-version: '{mvn33}'
119
120 - job-template:
121     name: 'cardinal-merge-{stream}'
122
123     # Job template for ODL merge jobs
124     #
125     # The purpose of this job template is to setup a ODL merge job
126     # and deploy artifacts to Nexus.
127     #
128     # Required Variables:
129     #     stream:    release stream (eg. stable-lithium or beryllium)
130     #     branch:    git branch (eg. stable/lithium or master)
131
132     project-type: maven
133     node: dynamic_merge
134     jdk: '{jdk}'
135
136     logrotate:
137         daysToKeep: '14'
138         numToKeep: '10'
139         artifactDaysToKeep: '{build-artifact-days-to-keep}'
140         artifactNumToKeep: '{build-artifact-num-to-keep}'
141
142     parameters:
143         - project-parameter:
144             project: '{project}'
145         - gerrit-parameters:
146             project: '{project}'
147             branch: '{branch}'
148             refspec: 'refs/heads/{branch}'
149
150     scm:
151         - gerrit-trigger-scm:
152             refspec: ''
153             choosing-strategy: 'default'
154
155     wrappers:
156         - opendaylight-infra-wrappers:
157             build-timeout: '{build-timeout}'
158
159     triggers:
160         - timed: 'H H * * 0'
161         - gerrit-trigger-patch-merged:
162             name: 'cardinal'
163             branch: '{branch}'
164
165     prebuilders:
166         - jacoco-nojava-workaround
167         - provide-maven-settings:
168             global-settings-file: 'odl-global-settings'
169             settings-file: 'cardinal-settings'
170
171     maven:
172         maven-name: '{mvn33}'
173         root-pom: 'pom.xml'
174         goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -V -B -Djenkins -Dmerge -Dstream={stream}'
175         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
176         settings: 'cardinal-settings'
177         settings-type: cfp
178         global-settings: 'odl-global-settings'
179         global-settings-type: cfp
180         post-step-run-condition: UNSTABLE
181
182     postbuilders:
183         - conditional-step:
184             condition-kind: file-exists
185             condition-filename: deploy-site.xml
186             condition-basedir: workspace
187
188             # The strategy here is intentional to run Maven site:deploy twice
189             # once using regular pom.xml to produce a staged-site which is
190             # then used by deploy-site.xml to push to Nexus. This is a
191             # workaround to Maven Site's default linking code which creates
192             # incorrect URLs for sites due to auto-detection assuming your
193             # project is configured in a certain way which ODL is not.
194             steps:
195             - maven-target:
196                 maven-version: '{mvn33}'
197                 pom: pom.xml
198                 goals: 'site:deploy -V -B -Dstream={stream}'
199                 java-opts:
200                     - '-Xmx2g'
201                 settings: 'cardinal-settings'
202                 settings-type: cfp
203                 global-settings: 'odl-global-settings'
204                 global-settings-type: cfp
205             - maven-target:
206                 maven-version: '{mvn33}'
207                 pom: deploy-site.xml
208                 goals: 'site:deploy -V -B -Dstream={stream}'
209                 java-opts:
210                     - '-Xmx2g'
211                 settings: 'cardinal-settings'
212                 settings-type: cfp
213                 global-settings: 'odl-global-settings'
214                 global-settings-type: cfp
215
216     reporters:
217         - findbugs
218
219     publishers:
220         - archive-artifacts:
221             artifacts: '**/target/surefire-reports/*-output.txt, '
222         - email-notification:
223             email-prefix: '[cardinal]'
224         - maven-deploy:
225             id: ''
226             unique-version: true
227             deploy-unstable: false
228         - jacoco-report
229         - archive-build:
230             maven-version: '{mvn33}'
231
232 - job-template:
233     name: 'cardinal-sonar'
234     disabled: false
235
236     project-type: maven
237     node: dynamic_verify
238     jdk: 'openjdk8'
239
240     logrotate:
241         daysToKeep: '7'
242         numToKeep: '10'
243         artifactDaysToKeep: '1'
244         artifactNumToKeep: '1'
245
246     parameters:
247         - project-parameter:
248             project: '{project}'
249
250     scm:
251         - git-scm:
252             refspec: ''
253             branch: 'master'
254
255     wrappers:
256         - opendaylight-infra-wrappers:
257             build-timeout: '{build-timeout}'
258
259     triggers:
260         - timed: 'H H * * 6'
261         - gerrit-trigger-patch-sonar:
262             name: 'cardinal'
263
264     prebuilders:
265         - jacoco-nojava-workaround
266         - provide-maven-settings:
267             global-settings-file: 'odl-global-settings'
268             settings-file: 'cardinal-settings'
269
270     maven:
271         maven-name: '{mvn33}'
272         root-pom: 'pom.xml'
273         goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -V -B -Djenkins -Dsonar'
274         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
275         settings: 'cardinal-settings'
276         settings-type: cfp
277         global-settings: 'odl-global-settings'
278         global-settings-type: cfp
279
280     reporters:
281         - findbugs
282
283     publishers:
284         - sonar:
285             language: 'java'
286             maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
287         - email-notification:
288             email-prefix: '[cardinal]'
289         - jacoco-report
290         - archive-build:
291             maven-version: '{mvn33}'
292