476b044d83fdf000430c341134c98bf5e7c6c1b6
[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     disabled: false
42
43     project-type: maven
44     node: dynamic_verify
45     jdk: 'openjdk8'
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     disabled: false
103
104     project-type: maven
105     node: dynamic_verify
106     jdk: '{jdk}'
107
108     logrotate:
109         daysToKeep: '{build-days-to-keep}'
110         numToKeep: '{build-num-to-keep}'
111         artifactDaysToKeep: '{build-artifact-days-to-keep}'
112         artifactNumToKeep: '{build-artifact-num-to-keep}'
113
114     parameters:
115         - project-parameter:
116             project: '{project}'
117
118     scm:
119         - git-scm:
120             credentials-id: '{ssh-credentials}'
121             refspec: ''
122             branch: '{branch}'
123
124     wrappers:
125         - build-timeout
126         - ssh-agent-credentials:
127             users:
128                 - '{ssh-credentials}'
129
130     triggers:
131         - timed: '@weekly'
132
133     prebuilders:
134         - wipe-org-opendaylight-repo
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 -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         global-settings: '{odl-global-settings}'
146
147     postbuilders:
148         - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
149         - check-clm:
150             application-name: distribution
151
152     publishers:
153         - email-notification:
154             email-prefix: '[distribution]'
155
156 - job-template:
157     name: 'distribution-validate-autorelease-{stream}'
158     disabled: '{obj:disable_autorelease}'
159
160     project-type: maven
161     node: dynamic_verify
162     concurrent: true
163     jdk: '{jdk}'
164
165     logrotate:
166         daysToKeep: '{build-days-to-keep}'
167         numToKeep: '{build-num-to-keep}'
168         artifactDaysToKeep: '{build-artifact-days-to-keep}'
169         artifactNumToKeep: '{build-artifact-num-to-keep}'
170
171     parameters:
172         - project-parameter:
173             project: '{project}'
174         - gerrit-parameter:
175             branch: '{branch}'
176         - autorelease-release-tag:
177             release-tag: 'validate'
178         - autorelease-release-branch:
179             release-branch: '{branch}'
180         - autorelease-release-datestamp:
181             datestamp: true
182
183     scm:
184         - git:
185             url: 'https://git.opendaylight.org/gerrit/releng/autorelease'
186             refspec: ''
187             branches:
188                 - 'origin/{branch}'
189             skip-tag: true
190             submodule:
191                 recursive: true
192
193     wrappers:
194         - autorelease-build-timeout
195         - ssh-agent-credentials:
196             users:
197                 - '{ssh-credentials}'
198
199     triggers:
200         - gerrit:
201             server-name: 'OpenDaylight'
202             trigger-on:
203                 - patchset-created-event:
204                     exclude-drafts: 'false'
205                     exclude-trivial-rebase: 'false'
206                     exclude-no-code-change: 'false'
207                 - draft-published-event
208                 - comment-added-contains-event:
209                     comment-contains-value: 'recheck'
210                 - comment-added-contains-event:
211                     comment-contains-value: 'reverify'
212                 - comment-added-contains-event:
213                     comment-contains-value: 'revalidate'
214             projects:
215               - project-compare-type: 'ANT'
216                 project-pattern: 'integration/distribution'
217                 branches:
218                   - branch-compare-type: 'ANT'
219                     branch-pattern: '**/{branch}'
220
221     prebuilders:
222         - wipe-org-opendaylight-repo
223         - jacoco-nojava-workaround
224         - autorelease-checkout-gerrit-patch
225         - autorelease-generate-taglist
226         - autorelease-generate-release-patches
227         - maven-target:
228             maven-version: '{mvn33}'
229             pom: validate-pom.xml
230             goals: 'clean install -T1.5C -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
231             java-opts:
232             - '-Xmx8g'
233             settings: '{autorelease-settings}'
234             global-settings: '{odl-global-settings}'
235
236     maven:
237         maven-name: '{mvn33}'
238         root-pom: 'pom.xml'
239         goals: 'clean validate -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
240         maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
241         settings: '{autorelease-settings}'
242         global-settings: '{odl-global-settings}'
243         automatic-archiving: false
244         post-step-run-condition: UNSTABLE
245
246     postbuilders:
247         - shell: "./scripts/list-project-dependencies.sh"
248         - autorelease-sys-stats
249
250     publishers:
251         - archive-artifacts:
252             artifacts: '*.log'
253         - email-notification:
254             email-prefix: '[autorelease] [distribution]'
255