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