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