Disable Lithium jobs
[releng/builder.git] / jjb / releng-templates.yaml
1 - job-template:
2     name: '{project-name}-release-java'
3     disabled: {disabled}
4     node: '{build-node}'
5
6     # Job template for producing a release candidate by creating a staging repo
7     # in Nexus.
8
9     project-type: maven
10     jdk: '{jdk}'
11
12     logrotate:
13         daysToKeep: '30'
14
15     parameters:
16         - opendaylight-infra-parameters:
17             project: '{project}'
18             branch: '{branch}'
19             refspec: 'refs/heads/{branch}'
20             artifacts: '{archive-artifacts}'
21         - build-tag
22         - stage-id-parameter:
23             stage-id: '{stage-id}'
24
25     scm:
26         - git:
27             credentials-id: 'opendaylight-jenkins-ssh'
28             url: '$GIT_BASE'
29             branches:
30                 - '$BUILD_TAG'
31             skip-tag: true
32             shallow-clone: true
33             wipe-workspace: true
34
35     wrappers:
36         - opendaylight-infra-wrappers:
37             build-timeout: '{build-timeout}'
38
39     prebuilders:
40         - wipe-org-opendaylight-repo
41         - jacoco-nojava-workaround
42         - provide-maven-settings:
43             global-settings-file: 'odl-global-settings'
44             settings-file: 'autorelease-settings'
45
46     maven:
47         maven-name: '{mvn33}'
48         root-pom: 'pom.xml'
49         goals: 'clean deploy -V -B -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage'
50         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
51         settings: 'autorelease-settings'
52         global-settings: 'odl-global-settings'
53         post-step-run-condition: UNSTABLE
54
55     postbuilders:
56         - releng-stage-release
57
58     publishers:
59         - email-notification:
60             email-prefix: '[releng]'
61         - archive-build:
62             maven-version: '{mvn33}'
63
64
65 - job-template:
66     name: '{project-name}-publish-p2repo'
67     disabled: {disabled}
68     node: '{build-node}'
69
70     # Job template for publishing a p2 repo given a URL to a zipped p2repo.
71
72     project-type: maven
73     jdk: '{jdk}'
74
75     parameters:
76         - opendaylight-infra-parameters:
77             project: '{project}'
78             branch: '{branch}'
79             refspec: 'refs/heads/{branch}'
80             artifacts: '{archive-artifacts}'
81         - p2zip-parameter
82
83     wrappers:
84         - opendaylight-infra-wrappers:
85             build-timeout: '{build-timeout}'
86
87     prebuilders:
88         - wipe-org-opendaylight-repo
89         - jacoco-nojava-workaround
90         - releng-fetch-p2zip-if-necessary:
91             maven-version: '{mvn33}'
92             settings: '{project-settings}'
93             global-settings: 'odl-global-settings'
94         - releng-generate-p2pom
95
96     maven:
97         maven-name: '{mvn33}'
98         root-pom: 'pom.xml'
99         goals: 'clean deploy -V -B -Dmaven.repo.local=/tmp/r'
100         settings: '{project-settings}'
101         global-settings: 'odl-global-settings'
102         post-step-run-condition: UNSTABLE
103
104     postbuilders:
105         - releng-update-p2composite-metadata:
106             maven-version: '{mvn33}'
107             settings: '{project-settings}'
108             global-settings: 'odl-global-settings'
109
110     publishers:
111         - email-notification:
112             email-prefix: '[releng]'
113         - archive-build:
114             maven-version: '{mvn33}'
115
116 # Python Related
117
118 - job-template:
119     name: '{project-name}-verify-python-{stream}'
120     disabled: {disabled}
121     node: '{build-node}'
122
123     # Job template for python verify jobs
124     #
125     # The purpose of this job template is to run tox for projects using this
126     # template.
127     #
128     # Required Variables:
129     #     stream:    release stream (eg. stable-lithium or beryllium)
130     #     branch:    git branch (eg. stable/lithium or master)
131     #     toxdir:    directory containing the project's tox.ini relative to
132     #                the workspace. Empty works if tox.ini is at project root.
133
134     project-type: freestyle
135     concurrent: true
136
137     logrotate:
138         daysToKeep: '7'
139         numToKeep: '-1'
140         artifactDaysToKeep: '-1'
141         artifactNumToKeep: '-1'
142
143     parameters:
144         - opendaylight-infra-parameters:
145             project: '{project}'
146             branch: '{branch}'
147             refspec: 'refs/heads/{branch}'
148             artifacts: '{archive-artifacts}'
149
150     scm:
151         - git:
152             credentials-id: 'opendaylight-jenkins-ssh'
153             url: '$GIT_BASE'
154             basedir: 'repo'
155             refspec: '$GERRIT_REFSPEC'
156             branches:
157                 - 'origin/$GERRIT_BRANCH'
158             skip-tag: true
159             choosing-strategy: 'gerrit'
160
161     wrappers:
162         - opendaylight-infra-wrappers:
163             build-timeout: '{build-timeout}'
164
165     triggers:
166         - gerrit:
167             server-name: 'OpenDaylight'
168             trigger-on:
169                 - patchset-created-event:
170                     exclude-drafts: 'true'
171                     exclude-trivial-rebase: 'false'
172                     exclude-no-code-change: 'true'
173                 - draft-published-event
174                 - comment-added-contains-event:
175                     comment-contains-value: 'recheck'
176                 - comment-added-contains-event:
177                     comment-contains-value: 'reverify'
178             projects:
179               - project-compare-type: 'ANT'
180                 project-pattern: '{project}'
181                 branches:
182                   - branch-compare-type: 'ANT'
183                     branch-pattern: '**/{branch}'
184                 file-paths:
185                     - compare-type: ANT
186                       pattern: '{toxdir}/**'
187
188     builders:
189         - shell: |
190             virtualenv $WORKSPACE/venv-tox
191             source $WORKSPACE/venv-tox/bin/activate
192             pip install --upgrade pip
193             pip install --upgrade tox argparse
194             pip freeze
195             cd $WORKSPACE/repo/{toxdir}
196             tox
197
198     publishers:
199         - email-notification:
200             email-prefix: '[{project}]'
201         - archive-build:
202             maven-version: '{mvn33}'
203
204 - job-template:
205     name: '{project-name}-merge-rtd-{stream}'
206     disabled: {disabled}
207     node: '{build-node}'
208
209     # Template for ReadTheDocs triggering
210
211     project-type: freestyle
212     concurrent: false
213
214     parameters:
215         - opendaylight-infra-parameters:
216             project: '{project}'
217             branch: '{branch}'
218             refspec: 'refs/heads/{branch}'
219             artifacts: '{archive-artifacts}'
220
221     wrappers:
222         - opendaylight-infra-wrappers:
223             build-timeout: '{build-timeout}'
224
225     triggers:
226         - gerrit-trigger-patch-merged:
227             name: '{project}'
228             branch: '{branch}'
229
230     builders:
231         - shell: |
232             curl -X POST https://readthedocs.org/build/{rtdproject}
233
234     publishers:
235         - email-notification:
236             email-prefix: '[{project}]'
237         - archive-build:
238             maven-version: '{mvn33}'
239
240 # Node related
241
242 - job-template:
243     name: '{project-name}-verify-node-{stream}'
244     disabled: {disabled}
245     node: '{build-node}'
246
247     # Job template for python verify jobs
248     #
249     # The purpose of this job template is to run node tests for projects using
250     # this template. It uses python virtualenv to install nodeenv and create a
251     # virtualenv for nodejs.
252     #
253     # Required Variables:
254     #     stream:    release stream (eg. stable-lithium or beryllium)
255     #     branch:    git branch (eg. stable/lithium or master)
256     #     nodedir:   directory of nodejs project to run node test against
257     #     nodever:   version of node to install in virtualenv
258
259     project-type: freestyle
260     concurrent: true
261
262     logrotate:
263         daysToKeep: '7'
264         numToKeep: '-1'
265         artifactDaysToKeep: '-1'
266         artifactNumToKeep: '-1'
267
268     parameters:
269         - opendaylight-infra-parameters:
270             project: '{project}'
271             branch: '{branch}'
272             refspec: 'refs/heads/{branch}'
273             artifacts: '{archive-artifacts}'
274
275     scm:
276         - git:
277             credentials-id: 'opendaylight-jenkins-ssh'
278             url: '$GIT_BASE'
279             basedir: 'repo'
280             refspec: '$GERRIT_REFSPEC'
281             branches:
282                 - 'origin/$GERRIT_BRANCH'
283             skip-tag: true
284             choosing-strategy: 'gerrit'
285
286     wrappers:
287         - opendaylight-infra-wrappers:
288             build-timeout: '{build-timeout}'
289
290     triggers:
291         - gerrit:
292             server-name: 'OpenDaylight'
293             trigger-on:
294                 - patchset-created-event:
295                     exclude-drafts: 'true'
296                     exclude-trivial-rebase: 'false'
297                     exclude-no-code-change: 'true'
298                 - draft-published-event
299                 - comment-added-contains-event:
300                     comment-contains-value: 'recheck'
301                 - comment-added-contains-event:
302                     comment-contains-value: 'reverify'
303             projects:
304               - project-compare-type: 'ANT'
305                 project-pattern: '{project}'
306                 branches:
307                   - branch-compare-type: 'ANT'
308                     branch-pattern: '**/{branch}'
309                 file-paths:
310                     - compare-type: ANT
311                       pattern: '{nodedir}/**'
312
313     builders:
314         - shell: |
315             #!/bin/bash
316             # Prepare Python
317             virtualenv $WORKSPACE/venv-python
318             source $WORKSPACE/venv-python/bin/activate
319             pip install --upgrade pip
320             pip install --upgrade tox argparse nodeenv
321             pip freeze
322
323             # Prepare node
324             nodeenv --node={nodever} --prebuilt $WORKSPACE/venv-node
325             source $WORKSPACE/venv-node/bin/activate
326             cd $WORKSPACE/repo/{nodedir}
327             npm install
328             npm test
329
330     publishers:
331         - email-notification:
332             email-prefix: '[{project}]'
333         - archive-build:
334             maven-version: '{mvn33}'