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