2 name: '{project-name}-release-java'
4 # Job template for producing a release candidate by creating a staging repo
7 project-type: freestyle
15 - opendaylight-infra-parameters:
18 refspec: 'refs/heads/{branch}'
19 artifacts: '{archive-artifacts}'
22 stage-id: '{stage-id}'
26 credentials-id: 'opendaylight-jenkins-ssh'
35 - opendaylight-infra-wrappers:
36 build-timeout: '{build-timeout}'
39 - wipe-org-opendaylight-repo
40 - jacoco-nojava-workaround
41 - provide-maven-settings:
42 global-settings-file: 'odl-global-settings'
43 settings-file: 'autorelease-settings'
45 maven-version: 'mvn33'
47 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'
49 - '-Xmx1024m -XX:MaxPermSize=256m'
50 settings: 'autorelease-settings'
52 global-settings: 'odl-global-settings'
53 global-settings-type: cfp
54 - releng-stage-release
58 email-prefix: '[releng]'
59 - opendaylight-infra-shiplogs:
60 maven-version: 'mvn33'
64 name: '{project-name}-publish-p2repo'
66 # Job template for publishing a p2 repo given a URL to a zipped p2repo.
68 project-type: freestyle
73 - opendaylight-infra-parameters:
76 refspec: 'refs/heads/{branch}'
77 artifacts: '{archive-artifacts}'
81 - opendaylight-infra-wrappers:
82 build-timeout: '{build-timeout}'
85 - wipe-org-opendaylight-repo
86 - jacoco-nojava-workaround
87 - releng-fetch-p2zip-if-necessary:
88 maven-version: 'mvn33'
89 settings: '{mvn-settings}'
90 global-settings: 'odl-global-settings'
91 - releng-generate-p2pom
93 maven-version: 'mvn33'
95 goals: 'clean deploy -V -B -Dmaven.repo.local=/tmp/r'
96 settings: '{mvn-settings}'
98 global-settings: 'odl-global-settings'
99 global-settings-type: cfp
100 - releng-update-p2composite-metadata:
101 maven-version: 'mvn33'
102 settings: '{mvn-settings}'
103 global-settings: 'odl-global-settings'
106 - email-notification:
107 email-prefix: '[releng]'
108 - opendaylight-infra-shiplogs:
109 maven-version: 'mvn33'
111 # Generic tox-based verify action
113 - tox_builder_verify: &tox_builder_verify
114 name: tox_builder_verify
116 # Required Variables:
117 # stream: release stream (eg. boron or carbon)
118 # branch: git branch (eg. stable/boron or master)
119 # toxdir: directory containing the project's tox.ini relative to
120 # the workspace. Empty works if tox.ini is at project root.
122 project-type: freestyle
130 - opendaylight-infra-parameters:
133 refspec: 'refs/heads/{branch}'
134 artifacts: '{archive-artifacts}'
138 credentials-id: 'opendaylight-jenkins-ssh'
141 refspec: '$GERRIT_REFSPEC'
143 - 'origin/$GERRIT_BRANCH'
145 choosing-strategy: 'gerrit'
148 - opendaylight-infra-wrappers:
149 build-timeout: '{build-timeout}'
153 server-name: 'OpenDaylight'
155 - patchset-created-event:
156 exclude-drafts: 'true'
157 exclude-trivial-rebase: 'false'
158 exclude-no-code-change: 'true'
159 - draft-published-event
160 - comment-added-contains-event:
161 comment-contains-value: 'recheck'
162 - comment-added-contains-event:
163 comment-contains-value: 'retox'
165 - project-compare-type: 'ANT'
166 project-pattern: '{project}'
168 - branch-compare-type: 'ANT'
169 branch-pattern: '**/{branch}'
172 pattern: '{toxdir}/**'
176 virtualenv $WORKSPACE/venv-tox
177 source $WORKSPACE/venv-tox/bin/activate
178 pip install --upgrade pip
179 pip install --upgrade tox argparse
181 cd $WORKSPACE/repo/{toxdir}
185 - email-notification:
186 email-prefix: '[{project}]'
187 - opendaylight-infra-shiplogs:
188 maven-version: 'mvn33'
191 name: '{project-name}-verify-tox-{stream}'
193 # Job template for verify jobs executing tox envlist
195 # The purpose of this job template is to run tox for projects using this
198 # Required Variables:
199 # stream: release stream (eg. stable-lithium or beryllium)
200 # branch: git branch (eg. stable/lithium or master)
201 # toxdir: directory containing the project's tox.ini relative to
202 # the workspace. Empty works if tox.ini is at project root.
204 <<: *tox_builder_verify
206 # Python (pep8) specific, project should migrate to {project-name}-verify-tox-{stream}
209 name: '{project-name}-verify-python-{stream}'
211 # Job template for python verify jobs
213 # The purpose of this job template is to run tox for projects using this
216 # Required Variables:
217 # stream: release stream (eg. stable-lithium or beryllium)
218 # branch: git branch (eg. stable/lithium or master)
219 # toxdir: directory containing the project's tox.ini relative to
220 # the workspace. Empty works if tox.ini is at project root.
222 <<: *tox_builder_verify
225 name: '{project-name}-merge-rtd-{stream}'
226 # Template for ReadTheDocs triggering
228 project-type: freestyle
233 - opendaylight-infra-parameters:
236 refspec: 'refs/heads/{branch}'
237 artifacts: '{archive-artifacts}'
240 - opendaylight-infra-wrappers:
241 build-timeout: '{build-timeout}'
244 - gerrit-trigger-patch-merged:
250 curl -X POST https://readthedocs.org/build/{rtdproject}
253 - email-notification:
254 email-prefix: '[{project}]'
255 - opendaylight-infra-shiplogs:
256 maven-version: 'mvn33'
261 name: '{project-name}-verify-node-{stream}'
263 # Job template for python verify jobs
265 # The purpose of this job template is to run node tests for projects using
266 # this template. It uses python virtualenv to install nodeenv and create a
267 # virtualenv for nodejs.
269 # Required Variables:
270 # stream: release stream (eg. boron or carbon)
271 # branch: git branch (eg. stable/boron or master)
272 # nodedir: directory of nodejs project to run node test against
273 # nodever: version of node to install in virtualenv
275 project-type: freestyle
282 artifactDaysToKeep: '-1'
283 artifactNumToKeep: '-1'
286 - opendaylight-infra-parameters:
289 refspec: 'refs/heads/{branch}'
290 artifacts: '{archive-artifacts}'
294 credentials-id: 'opendaylight-jenkins-ssh'
297 refspec: '$GERRIT_REFSPEC'
299 - 'origin/$GERRIT_BRANCH'
301 choosing-strategy: 'gerrit'
304 - opendaylight-infra-wrappers:
305 build-timeout: '{build-timeout}'
309 server-name: 'OpenDaylight'
311 - patchset-created-event:
312 exclude-drafts: 'true'
313 exclude-trivial-rebase: 'false'
314 exclude-no-code-change: 'true'
315 - draft-published-event
316 - comment-added-contains-event:
317 comment-contains-value: 'recheck'
318 - comment-added-contains-event:
319 comment-contains-value: 'renode'
321 - project-compare-type: 'ANT'
322 project-pattern: '{project}'
324 - branch-compare-type: 'ANT'
325 branch-pattern: '**/{branch}'
328 pattern: '{nodedir}/**'
334 virtualenv $WORKSPACE/venv-python
335 source $WORKSPACE/venv-python/bin/activate
336 pip install --upgrade pip
337 pip install --upgrade tox argparse nodeenv
341 nodeenv --node={nodever} --prebuilt $WORKSPACE/venv-node
342 source $WORKSPACE/venv-node/bin/activate
343 cd $WORKSPACE/repo/{nodedir}
348 - email-notification:
349 email-prefix: '[{project}]'
350 - opendaylight-infra-shiplogs:
351 maven-version: 'mvn33'