Update automated project templates
[releng/builder.git] / jjb / yangtools / yangtools.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: yangtools
8     jobs:
9         - '{name}-clm-{stream}'
10         - '{name}-distribution-{stream}'
11         - '{name}-distribution-check-{stream}'
12         - '{name}-integration-{stream}'
13         - '{name}-periodic-{stream}'
14         - '{name}-validate-autorelease-{stream}'
15         - 'yangtools-merge-{stream}'
16         - 'yangtools-sonar'
17
18
19     # stream:    release stream (eg. stable-lithium or beryllium)
20     # branch:    git branch (eg. stable/lithium or master)
21     stream:
22         - boron:
23             branch: 'master'
24             jdk: openjdk8
25             jdks:
26                 - openjdk8
27             disable_autorelease: False
28             disable_distribution_check: False
29         - beryllium:
30             branch: 'stable/beryllium'
31             jdk: openjdk7
32             jdks:
33                 - openjdk7
34                 - openjdk8
35             disable_autorelease: False
36             disable_distribution_check: False
37         - stable-lithium:
38             branch: 'stable/lithium'
39             jdk: openjdk7
40             jdks:
41                 - openjdk7
42                 - openjdk8
43             disable_autorelease: True
44             disable_distribution_check: True
45
46     project: 'yangtools'
47     mvn-settings: 'yangtools-settings'
48     mvn-goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
49     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
50     dependencies: 'odlparent-merge-{stream}'
51     email-upstream: '[yangtools] [odlparent]'
52
53 # For the Job templates below replace instances of:
54 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
55 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
56 # MAVEN_GOALS with your maven goals to build
57 # MAVEN_OPTS with your maven options to build
58
59 - job-template:
60     name: 'yangtools-merge-{stream}'
61
62     # Job template for ODL merge jobs
63     #
64     # The purpose of this job template is to setup a ODL merge job
65     # and deploy artifacts to Nexus.
66     #
67     # Required Variables:
68     #     stream:    release stream (eg. stable-lithium or beryllium)
69     #     branch:    git branch (eg. stable/lithium or master)
70
71     project-type: maven
72     node: dynamic_merge
73     jdk: '{jdk}'
74
75     logrotate:
76         daysToKeep: '14'
77         numToKeep: '10'
78         artifactDaysToKeep: '{build-artifact-days-to-keep}'
79         artifactNumToKeep: '{build-artifact-num-to-keep}'
80
81     parameters:
82         - project-parameter:
83             project: '{project}'
84         - gerrit-parameters:
85             project: '{project}'
86             branch: '{branch}'
87             refspec: 'refs/heads/{branch}'
88
89     scm:
90         - gerrit-trigger-scm:
91             refspec: ''
92             choosing-strategy: 'default'
93
94     wrappers:
95         - opendaylight-infra-wrappers:
96             build-timeout: '{build-timeout}'
97
98     triggers:
99         - timed: 'H H * * 0'
100         - gerrit-trigger-patch-merged:
101             name: 'yangtools'
102             branch: '{branch}'
103
104     prebuilders:
105         - jacoco-nojava-workaround
106         - provide-maven-settings:
107             global-settings-file: 'odl-global-settings'
108             settings-file: 'yangtools-settings'
109
110     maven:
111         maven-name: '{mvn33}'
112         root-pom: 'pom.xml'
113         goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -V -B -Djenkins -Dmerge -Dstream={stream}'
114         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
115         settings: 'yangtools-settings'
116         settings-type: cfp
117         global-settings: 'odl-global-settings'
118         global-settings-type: cfp
119         post-step-run-condition: UNSTABLE
120
121     postbuilders:
122         - conditional-step:
123             condition-kind: file-exists
124             condition-filename: deploy-site.xml
125             condition-basedir: workspace
126
127             # The strategy here is intentional to run Maven site:deploy twice
128             # once using regular pom.xml to produce a staged-site which is
129             # then used by deploy-site.xml to push to Nexus. This is a
130             # workaround to Maven Site's default linking code which creates
131             # incorrect URLs for sites due to auto-detection assuming your
132             # project is configured in a certain way which ODL is not.
133             steps:
134             - maven-target:
135                 maven-version: '{mvn33}'
136                 pom: pom.xml
137                 goals: 'site:deploy -V -B -Dstream={stream}'
138                 java-opts:
139                     - '-Xmx2g'
140                 settings: 'yangtools-settings'
141                 settings-type: cfp
142                 global-settings: 'odl-global-settings'
143                 global-settings-type: cfp
144             - maven-target:
145                 maven-version: '{mvn33}'
146                 pom: deploy-site.xml
147                 goals: 'site:deploy -V -B -Dstream={stream}'
148                 java-opts:
149                     - '-Xmx2g'
150                 settings: 'yangtools-settings'
151                 settings-type: cfp
152                 global-settings: 'odl-global-settings'
153                 global-settings-type: cfp
154
155     reporters:
156         - findbugs
157
158     publishers:
159         - archive-artifacts:
160             artifacts: '**/target/surefire-reports/*-output.txt, '
161         - email-notification:
162             email-prefix: '[yangtools]'
163         - maven-deploy:
164             id: ''
165             unique-version: true
166             deploy-unstable: false
167         - jacoco-report
168         - archive-build:
169             maven-version: '{mvn33}'
170
171 - job-template:
172     name: 'yangtools-sonar'
173     disabled: false
174
175     project-type: maven
176     node: dynamic_verify
177     jdk: 'openjdk8'
178
179     logrotate:
180         daysToKeep: '7'
181         numToKeep: '10'
182         artifactDaysToKeep: '1'
183         artifactNumToKeep: '1'
184
185     parameters:
186         - project-parameter:
187             project: '{project}'
188
189     scm:
190         - git-scm:
191             refspec: ''
192             branch: 'master'
193
194     wrappers:
195         - opendaylight-infra-wrappers:
196             build-timeout: '{build-timeout}'
197
198     triggers:
199         - timed: 'H H * * 6'
200         - gerrit-trigger-patch-sonar:
201             name: 'yangtools'
202
203     prebuilders:
204         - jacoco-nojava-workaround
205         - provide-maven-settings:
206             global-settings-file: 'odl-global-settings'
207             settings-file: 'yangtools-settings'
208
209     maven:
210         maven-name: '{mvn33}'
211         root-pom: 'pom.xml'
212         goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -V -B -Djenkins -Dsonar'
213         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
214         settings: 'yangtools-settings'
215         settings-type: cfp
216         global-settings: 'odl-global-settings'
217         global-settings-type: cfp
218
219     reporters:
220         - findbugs
221
222     publishers:
223         - sonar:
224             language: 'java'
225             maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
226         - email-notification:
227             email-prefix: '[yangtools]'
228         - jacoco-report
229         - archive-build:
230             maven-version: '{mvn33}'
231