Update automated project templates
[releng/builder.git] / jjb / integration / distribution / distribution.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: distribution
8     jobs:
9         - 'distribution-sonar'
10         - 'distribution-clm-{stream}'
11         - 'distribution-validate-autorelease-{stream}'
12
13
14     # stream:    release stream (eg. stable-lithium or beryllium)
15     # branch:    git branch (eg. stable/lithium or master)
16     stream:
17         - boron:
18             branch: 'master'
19             jdk: openjdk8
20             jdks:
21                 - openjdk8
22             disable_autorelease: False
23             disable_distribution_check: False
24         - beryllium:
25             branch: 'stable/beryllium'
26             jdk: openjdk8
27             jdks:
28                 - openjdk8
29                 - openjdk7
30             disable_autorelease: False
31             disable_distribution_check: False
32
33     project: 'integration/distribution'
34
35 # For the Job templates below replace instances of:
36 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
37 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
38 # MAVEN_GOALS with your maven goals to build
39 # MAVEN_OPTS with your maven options to build
40
41 - job-template:
42     name: 'distribution-sonar'
43     disabled: false
44
45     project-type: maven
46     node: dynamic_verify
47     jdk: 'openjdk8'
48
49     logrotate:
50         daysToKeep: '7'
51         numToKeep: '10'
52         artifactDaysToKeep: '1'
53         artifactNumToKeep: '1'
54
55     parameters:
56         - project-parameter:
57             project: '{project}'
58
59     scm:
60         - git-scm:
61             credentials-id: '{ssh-credentials}'
62             refspec: ''
63             branch: 'master'
64
65     wrappers:
66         - opendaylight-infra-wrappers:
67             build-timeout: '{build-timeout}'
68
69     triggers:
70         - timed: 'H H * * 6'
71         - gerrit-trigger-patch-sonar:
72             name: 'integration/distribution'
73
74     prebuilders:
75         - jacoco-nojava-workaround
76         - provide-maven-settings:
77             global-settings-file: 'odl-global-settings'
78             settings-file: 'integration-distribution-settings'
79
80     maven:
81         maven-name: '{mvn33}'
82         root-pom: 'pom.xml'
83         goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -V -B -Djenkins -Dsonar'
84         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
85         settings: 'integration-distribution-settings'
86         settings-type: cfp
87         global-settings: 'odl-global-settings'
88         global-settings-type: cfp
89
90     reporters:
91         - findbugs
92
93     publishers:
94         - sonar:
95             language: 'java'
96             maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
97         - email-notification:
98             email-prefix: '[distribution]'
99         - jacoco-report
100         - archive-build:
101             maven-version: '{mvn33}'
102
103 - job-template:
104     name: 'distribution-clm-{stream}'
105     disabled: false
106
107     project-type: maven
108     node: dynamic_verify
109     jdk: '{jdk}'
110
111     logrotate:
112         daysToKeep: '{build-days-to-keep}'
113         numToKeep: '{build-num-to-keep}'
114         artifactDaysToKeep: '{build-artifact-days-to-keep}'
115         artifactNumToKeep: '{build-artifact-num-to-keep}'
116
117     parameters:
118         - project-parameter:
119             project: '{project}'
120
121     scm:
122         - git-scm:
123             credentials-id: '{ssh-credentials}'
124             refspec: ''
125             branch: '{branch}'
126
127     wrappers:
128         - opendaylight-infra-wrappers:
129             build-timeout: '{build-timeout}'
130
131     triggers:
132         - timed: 'H H * * 6'
133
134     prebuilders:
135         - provide-maven-settings:
136             global-settings-file: 'odl-global-settings'
137             settings-file: 'integration-distribution-settings'
138
139     maven:
140         maven-name: '{mvn33}'
141         root-pom: 'pom.xml'
142         goals: 'clean install com.sonatype.clm:clm-maven-plugin:index -V -B -Djenkins -DskipTests=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
143         maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
144         settings: 'integration-distribution-settings'
145         settings-type: cfp
146         global-settings: 'odl-global-settings'
147         global-settings-type: cfp
148
149     postbuilders:
150         - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
151         - check-clm:
152             application-name: distribution
153
154     publishers:
155         - email-notification:
156             email-prefix: '[distribution]'
157         - archive-build:
158             maven-version: '{mvn33}'
159
160 - job-template:
161     name: 'distribution-validate-autorelease-{stream}'
162     disabled: '{obj:disable_autorelease}'
163
164     project-type: maven
165     node: dynamic_verify
166     concurrent: true
167     jdk: '{jdk}'
168
169     logrotate:
170         daysToKeep: '{build-days-to-keep}'
171         numToKeep: '{build-num-to-keep}'
172         artifactDaysToKeep: '{build-artifact-days-to-keep}'
173         artifactNumToKeep: '{build-artifact-num-to-keep}'
174
175     parameters:
176         - project-parameter:
177             project: '{project}'
178         - gerrit-parameters:
179             project: '{project}'
180             branch: '{branch}'
181             refspec: 'refs/heads/{branch}'
182         - autorelease-release-tag:
183             release-tag: 'validate'
184         - autorelease-release-branch:
185             release-branch: '{branch}'
186         - string:
187             name: CLONE_URL
188             default: 'ssh://jenkins-$SILO@git.opendaylight.org:29418/releng/autorelease'
189             description: "Autorelease clone URL"
190
191     scm:
192         - git:
193             url: '$CLONE_URL'
194             credentials-id: '{ssh-credentials}'
195             refspec: ''
196             branches:
197                 - 'origin/{branch}'
198             skip-tag: true
199             submodule:
200                 recursive: true
201                 timeout: 60
202
203     wrappers:
204         - opendaylight-infra-wrappers:
205             build-timeout: '{build-timeout}'
206
207     triggers:
208         - gerrit:
209             server-name: 'OpenDaylight'
210             trigger-on:
211                 - patchset-created-event:
212                     exclude-drafts: 'true'
213                     exclude-trivial-rebase: 'false'
214                     exclude-no-code-change: 'true'
215                 - draft-published-event
216                 - comment-added-contains-event:
217                     comment-contains-value: 'recheck'
218                 - comment-added-contains-event:
219                     comment-contains-value: 'reverify'
220                 - comment-added-contains-event:
221                     comment-contains-value: 'revalidate'
222             projects:
223               - project-compare-type: 'ANT'
224                 project-pattern: 'integration/distribution'
225                 branches:
226                   - branch-compare-type: 'ANT'
227                     branch-pattern: '**/{branch}'
228                 file-paths:
229                     - compare-type: ANT
230                       pattern: '**/*.xml'
231
232     prebuilders:
233         - jacoco-nojava-workaround
234         - autorelease-checkout-gerrit-patch
235         - autorelease-generate-release-patches
236         - maven-target:
237             maven-version: '{mvn33}'
238             pom: validate-pom.xml
239             goals: 'clean install -V -B -T1.5C -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
240             java-opts:
241             - '-Xmx8g'
242             settings: 'autorelease-settings'
243             settings-type: cfp
244             global-settings: 'odl-global-settings'
245             global-settings-type: cfp
246
247     maven:
248         maven-name: '{mvn33}'
249         root-pom: 'pom.xml'
250         goals: 'clean validate -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
251         maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
252         settings: 'autorelease-settings'
253         settings-type: cfp
254         global-settings: 'odl-global-settings'
255         global-settings-type: cfp
256         automatic-archiving: false
257         post-step-run-condition: UNSTABLE
258
259     postbuilders:
260         - autorelease-sys-stats
261
262     publishers:
263         - email-notification:
264             email-prefix: '[autorelease] [distribution]'
265         - archive-build:
266             maven-version: '{mvn33}'
267