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