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