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