14aab3c30672bb3801c3efbee69db0ba16e8efb2
[releng/builder.git] / jjb / controller / controller.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: controller
8     jobs:
9         - 'controller-verify-{stream}'
10         - 'controller-merge-{stream}'
11         - 'controller-daily-{stream}'
12         - 'controller-integration-{stream}'
13
14     # stream:    branch with - in place of / (eg. stable-helium)
15     # branch:    branch (eg. stable/helium)
16     stream:
17         - master:
18             branch: 'master'
19         - stable-helium:
20             branch: 'stable/helium'
21
22     project: 'controller'
23     jdk: 'openjdk7'
24
25 # For the Job templates below replace instances of:
26 # PROJECT with your project name (eg. controller)
27 # MAVEN_GOALS with your maven goals to build
28 # MAVEN_OPTS with your maven options to build
29
30 - job-template:
31     name: 'controller-verify-{stream}'
32
33     # Job template for ODL verify jobs
34     #
35     # The purpose of this job template is to setup a ODL verify job
36     #
37     # Required Variables:
38     #     stream:    branch with - in place of / (eg. stable-helium)
39     #     branch:    branch (eg. stable/helium)
40
41     project-type: maven
42     node: dynamic_verify
43     concurrent: true
44     jdk: '{jdk}'
45
46     logrotate:
47         daysToKeep: '{build-days-to-keep}'
48         numToKeep: '{build-num-to-keep}'
49         artifactDaysToKeep: '{build-artifact-days-to-keep}'
50         artifactNumToKeep: '{build-artifact-num-to-keep}'
51
52     parameters:
53         - project-parameter:
54             project: '{project}'
55         - gerrit-parameter:
56             branch: '{branch}'
57
58     scm:
59         - gerrit-trigger-scm:
60             credentials-id: '{ssh-credentials}'
61             refspec: '$GERRIT_REFSPEC'
62             choosing-strategy: 'gerrit'
63
64     wrappers:
65         - build-timeout
66         - ssh-agent-credentials:
67             user: '{ssh-credentials}'
68
69     triggers:
70         - gerrit-trigger-patch-submitted:
71             name: 'controller'
72             branch: '{branch}'
73
74     maven:
75         maven-name: '{mvn32}'
76         root-pom: 'pom.xml'
77         goals: '-Dmaven.repo.local=$WORKSPACE/.m2repo -Dorg.ops4j.pax.url.mvn.localRepository=$WORKSPACE/.m2repo clean install -Pintegrationtests,docs'
78         maven-opts: '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
79         settings: '{controller-settings}'
80         global-settings: '{odl-global-settings}'
81         ignore-upstream-changes: true
82
83     publishers:
84         - email-notification:
85             email-prefix: '[controller]'
86
87 - job-template:
88     name: 'controller-merge-{stream}'
89
90     # Job template for ODL merge jobs
91     #
92     # The purpose of this job template is to setup a ODL merge job
93     # and deploy artifacts to Nexus.
94     #
95     # Required Variables:
96     #     stream:    branch with - in place of / (eg. stable-helium)
97     #     branch:    branch (eg. stable/helium)
98
99     project-type: maven
100     node: dynamic_merge
101     jdk: '{jdk}'
102
103     logrotate:
104         daysToKeep: '{build-days-to-keep}'
105         numToKeep: '{build-num-to-keep}'
106         artifactDaysToKeep: '{build-artifact-days-to-keep}'
107         artifactNumToKeep: '{build-artifact-num-to-keep}'
108
109     parameters:
110         - project-parameter:
111             project: '{project}'
112
113     scm:
114         - gerrit-trigger-scm:
115             credentials-id: '{ssh-credentials}'
116             refspec: ''
117             choosing-strategy: 'default'
118
119     wrappers:
120         - build-timeout
121         - ssh-agent-credentials:
122             user: '{ssh-credentials}'
123
124     triggers:
125         - gerrit-trigger-patch-merged:
126             name: 'controller'
127             branch: '{branch}'
128
129     maven:
130         maven-name: '{mvn32}'
131         root-pom: 'pom.xml'
132         goals: '-Dmaven.repo.local=$WORKSPACE/.m2repo -Dorg.ops4j.pax.url.mvn.localRepository=$WORKSPACE/.m2repo clean install -Pintegrationtests,docs'
133         maven-opts: '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
134         settings: '{controller-settings}'
135         global-settings: '{odl-global-settings}'
136
137     publishers:
138         - email-notification:
139             email-prefix: '[controller]'
140         - maven-deploy:
141             id: ''
142             unique-version: true
143             deploy-unstable: false
144
145 - job-template:
146     name: 'controller-daily-{stream}'
147
148     # Job template for daily builders
149     #
150     # The purpose of this job template is to setup a daily/nightly
151     # builder and pushes to Sonar analysis.
152     #
153     # Required Variables:
154     #     stream:    branch with - in place of / (eg. stable-helium)
155     #     branch:    branch (eg. stable/helium)
156
157     project-type: maven
158     node: dynamic_verify
159     jdk: '{jdk}'
160
161     logrotate:
162         daysToKeep: '{build-days-to-keep}'
163         numToKeep: '{build-num-to-keep}'
164         artifactDaysToKeep: '{build-artifact-days-to-keep}'
165         artifactNumToKeep: '{build-artifact-num-to-keep}'
166
167     parameters:
168         - project-parameter:
169             project: '{project}'
170
171     scm:
172         - git-scm:
173             credentials-id: '{ssh-credentials}'
174             refspec: ''
175             branch: '{branch}'
176
177     wrappers:
178         - build-timeout
179         - ssh-agent-credentials:
180             user: '{ssh-credentials}'
181
182     triggers:
183         - timed: 'H H * * *'
184
185     maven:
186         maven-name: '{mvn32}'
187         root-pom: 'pom.xml'
188         goals: '-Dmaven.repo.local=$WORKSPACE/.m2repo -Dorg.ops4j.pax.url.mvn.localRepository=$WORKSPACE/.m2repo clean install -Pintegrationtests,docs'
189         maven-opts: '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
190         settings: '{controller-settings}'
191         global-settings: '{odl-global-settings}'
192
193     publishers:
194         - email-notification:
195             email-prefix: '[controller]'
196         - sonar:
197             branch: '{stream}'
198             language: 'java'
199             maven-opts: '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
200
201 - job-template:
202     name: 'controller-integration-{stream}'
203     disabled: false
204
205     # Job template for ODL merge jobs
206     #
207     # The purpose of this job template is to setup a ODL merge job
208     # and deploy artifacts to Nexus.
209     #
210     # Required Variables:
211     #     stream:    branch with - in place of / (eg. stable-helium)
212     #     branch:    branch (eg. stable/helium)
213
214     project-type: maven
215     node: dynamic_merge
216     jdk: '{jdk}'
217
218     logrotate:
219         daysToKeep: '{build-days-to-keep}'
220         numToKeep: '{build-num-to-keep}'
221         artifactDaysToKeep: '{build-artifact-days-to-keep}'
222         artifactNumToKeep: '{build-artifact-num-to-keep}'
223
224     parameters:
225         - project-parameter:
226             project: '{project}'
227
228     scm:
229         - git-scm:
230             credentials-id: '{ssh-credentials}'
231             refspec: ''
232             branch: '{branch}'
233
234     wrappers:
235         - build-timeout
236         - ssh-agent-credentials:
237             user: '{ssh-credentials}'
238
239     triggers:
240         - reverse:
241             jobs: 'yangtools-merge-{stream},aaa-merge-{stream}'
242             result: 'success'
243
244     maven:
245         maven-name: '{mvn32}'
246         root-pom: 'pom.xml'
247         goals: '-Dmaven.repo.local=$WORKSPACE/.m2repo -Dorg.ops4j.pax.url.mvn.localRepository=$WORKSPACE/.m2repo clean install -Pintegrationtests,docs'
248         maven-opts: '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
249         settings: '{controller-settings}'
250         global-settings: '{odl-global-settings}'
251
252     publishers:
253         - email-notification:
254             email-prefix: '[controller] [yangtools] [aaa]'