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         - build-timeout
67         - ssh-agent-credentials:
68             users:
69                 - '{ssh-credentials}'
70
71     triggers:
72         - timed: 'H H * * 6'
73         - gerrit-trigger-patch-sonar:
74             name: 'integration/distribution'
75
76     prebuilders:
77         - wipe-org-opendaylight-repo
78         - jacoco-nojava-workaround
79         - provide-maven-settings:
80             global-settings-file: 'odl-global-settings'
81             settings-file: 'integration-distribution-settings'
82
83     maven:
84         maven-name: '{mvn33}'
85         root-pom: 'pom.xml'
86         goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -V -B -Djenkins -Dsonar'
87         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
88         settings: 'integration-distribution-settings'
89         settings-type: cfp
90         global-settings: 'odl-global-settings'
91         global-settings-type: cfp
92
93     reporters:
94         - findbugs
95
96     publishers:
97         - sonar:
98             language: 'java'
99             maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
100         - email-notification:
101             email-prefix: '[distribution]'
102         - jacoco-report
103         - archive-build:
104             maven-version: '{mvn33}'
105
106 - job-template:
107     name: 'distribution-clm-{stream}'
108     disabled: false
109
110     project-type: maven
111     node: dynamic_verify
112     jdk: '{jdk}'
113
114     logrotate:
115         daysToKeep: '{build-days-to-keep}'
116         numToKeep: '{build-num-to-keep}'
117         artifactDaysToKeep: '{build-artifact-days-to-keep}'
118         artifactNumToKeep: '{build-artifact-num-to-keep}'
119
120     parameters:
121         - project-parameter:
122             project: '{project}'
123
124     scm:
125         - git-scm:
126             credentials-id: '{ssh-credentials}'
127             refspec: ''
128             branch: '{branch}'
129
130     wrappers:
131         - build-timeout
132         - ssh-agent-credentials:
133             users:
134                 - '{ssh-credentials}'
135
136     triggers:
137         - timed: 'H H * * 6'
138
139     prebuilders:
140         - wipe-org-opendaylight-repo
141         - provide-maven-settings:
142             global-settings-file: 'odl-global-settings'
143             settings-file: 'integration-distribution-settings'
144
145     maven:
146         maven-name: '{mvn33}'
147         root-pom: 'pom.xml'
148         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'
149         maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
150         settings: 'integration-distribution-settings'
151         settings-type: cfp
152         global-settings: 'odl-global-settings'
153         global-settings-type: cfp
154
155     postbuilders:
156         - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
157         - check-clm:
158             application-name: distribution
159
160     publishers:
161         - email-notification:
162             email-prefix: '[distribution]'
163         - archive-build:
164             maven-version: '{mvn33}'
165
166 - job-template:
167     name: 'distribution-validate-autorelease-{stream}'
168     disabled: '{obj:disable_autorelease}'
169
170     project-type: maven
171     node: dynamic_verify
172     concurrent: true
173     jdk: '{jdk}'
174
175     logrotate:
176         daysToKeep: '{build-days-to-keep}'
177         numToKeep: '{build-num-to-keep}'
178         artifactDaysToKeep: '{build-artifact-days-to-keep}'
179         artifactNumToKeep: '{build-artifact-num-to-keep}'
180
181     parameters:
182         - project-parameter:
183             project: '{project}'
184         - gerrit-parameters:
185             project: '{project}'
186             branch: '{branch}'
187             refspec: 'refs/heads/{branch}'
188         - autorelease-release-tag:
189             release-tag: 'validate'
190         - autorelease-release-branch:
191             release-branch: '{branch}'
192         - string:
193             name: CLONE_URL
194             default: 'ssh://jenkins-$SILO@git.opendaylight.org:29418/releng/autorelease'
195             description: "Autorelease clone URL"
196
197     scm:
198         - git:
199             url: '$CLONE_URL'
200             credentials-id: '{ssh-credentials}'
201             refspec: ''
202             branches:
203                 - 'origin/{branch}'
204             skip-tag: true
205             submodule:
206                 recursive: true
207                 timeout: 60
208
209     wrappers:
210         - autorelease-build-timeout
211         - ssh-agent-credentials:
212             users:
213                 - '{ssh-credentials}'
214
215     triggers:
216         - gerrit:
217             server-name: 'OpenDaylight'
218             trigger-on:
219                 - patchset-created-event:
220                     exclude-drafts: 'true'
221                     exclude-trivial-rebase: 'false'
222                     exclude-no-code-change: 'true'
223                 - draft-published-event
224                 - comment-added-contains-event:
225                     comment-contains-value: 'recheck'
226                 - comment-added-contains-event:
227                     comment-contains-value: 'reverify'
228                 - comment-added-contains-event:
229                     comment-contains-value: 'revalidate'
230             projects:
231               - project-compare-type: 'ANT'
232                 project-pattern: 'integration/distribution'
233                 branches:
234                   - branch-compare-type: 'ANT'
235                     branch-pattern: '**/{branch}'
236                 file-paths:
237                     - compare-type: ANT
238                       pattern: '**/*.xml'
239
240     prebuilders:
241         - wipe-org-opendaylight-repo
242         - jacoco-nojava-workaround
243         - autorelease-checkout-gerrit-patch
244         - autorelease-generate-release-patches
245         - maven-target:
246             maven-version: '{mvn33}'
247             pom: validate-pom.xml
248             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'
249             java-opts:
250             - '-Xmx8g'
251             settings: 'autorelease-settings'
252             settings-type: cfp
253             global-settings: 'odl-global-settings'
254             global-settings-type: cfp
255
256     maven:
257         maven-name: '{mvn33}'
258         root-pom: 'pom.xml'
259         goals: 'clean validate -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
260         maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
261         settings: 'autorelease-settings'
262         settings-type: cfp
263         global-settings: 'odl-global-settings'
264         global-settings-type: cfp
265         automatic-archiving: false
266         post-step-run-condition: UNSTABLE
267
268     postbuilders:
269         - autorelease-sys-stats
270
271     publishers:
272         - email-notification:
273             email-prefix: '[autorelease] [distribution]'
274         - archive-build:
275             maven-version: '{mvn33}'
276