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-recipients: '{email-recipients}'
59 email-prefix: '[releng]'
60 - opendaylight-infra-shiplogs:
61 maven-version: 'mvn33'
65 name: '{project-name}-publish-p2repo'
67 # Job template for publishing a p2 repo given a URL to a zipped p2repo.
69 project-type: freestyle
74 - opendaylight-infra-parameters:
77 refspec: 'refs/heads/{branch}'
78 artifacts: '{archive-artifacts}'
82 - opendaylight-infra-wrappers:
83 build-timeout: '{build-timeout}'
86 - wipe-org-opendaylight-repo
87 - jacoco-nojava-workaround
88 - releng-fetch-p2zip-if-necessary:
89 maven-version: 'mvn33'
90 settings: '{mvn-settings}'
91 global-settings: 'odl-global-settings'
92 - releng-generate-p2pom
94 maven-version: 'mvn33'
96 goals: 'clean deploy -V -B -Dmaven.repo.local=/tmp/r'
97 settings: '{mvn-settings}'
99 global-settings: 'odl-global-settings'
100 global-settings-type: cfp
101 - releng-update-p2composite-metadata:
102 maven-version: 'mvn33'
103 settings: '{mvn-settings}'
104 global-settings: 'odl-global-settings'
107 - email-notification:
108 email-recipients: '{email-recipients}'
109 email-prefix: '[releng]'
110 - opendaylight-infra-shiplogs:
111 maven-version: 'mvn33'
113 # Generic tox-based verify action
115 - tox_builder_verify: &tox_builder_verify
116 name: tox_builder_verify
118 # Required Variables:
119 # stream: release stream (eg. boron or carbon)
120 # branch: git branch (eg. stable/boron or master)
121 # toxdir: directory containing the project's tox.ini relative to
122 # the workspace. Empty works if tox.ini is at project root.
124 project-type: freestyle
132 - opendaylight-infra-parameters:
135 refspec: 'refs/heads/{branch}'
136 artifacts: '{archive-artifacts}'
140 credentials-id: 'opendaylight-jenkins-ssh'
143 refspec: '$GERRIT_REFSPEC'
145 - 'origin/$GERRIT_BRANCH'
147 choosing-strategy: 'gerrit'
150 - opendaylight-infra-wrappers:
151 build-timeout: '{build-timeout}'
155 server-name: 'OpenDaylight'
157 - patchset-created-event:
158 exclude-drafts: 'true'
159 exclude-trivial-rebase: 'false'
160 exclude-no-code-change: 'true'
161 - draft-published-event
162 - comment-added-contains-event:
163 comment-contains-value: 'recheck'
164 - comment-added-contains-event:
165 comment-contains-value: 'retox'
167 - project-compare-type: 'ANT'
168 project-pattern: '{project}'
170 - branch-compare-type: 'ANT'
171 branch-pattern: '**/{branch}'
174 pattern: '{toxdir}/**'
178 virtualenv $WORKSPACE/venv-tox
179 source $WORKSPACE/venv-tox/bin/activate
180 pip install --upgrade pip
181 pip install --upgrade tox argparse
183 cd $WORKSPACE/repo/{toxdir}
187 - email-notification:
188 email-recipients: '{email-recipients}'
189 email-prefix: '[{project}]'
190 - opendaylight-infra-shiplogs:
191 maven-version: 'mvn33'
194 name: '{project-name}-verify-tox-{stream}'
196 # Job template for verify jobs executing tox envlist
198 # The purpose of this job template is to run tox for projects using this
201 # Required Variables:
202 # stream: release stream (eg. stable-lithium or beryllium)
203 # branch: git branch (eg. stable/lithium or master)
204 # toxdir: directory containing the project's tox.ini relative to
205 # the workspace. Empty works if tox.ini is at project root.
207 <<: *tox_builder_verify
209 # Python (pep8) specific, project should migrate to {project-name}-verify-tox-{stream}
212 name: '{project-name}-verify-python-{stream}'
214 # Job template for python verify jobs
216 # The purpose of this job template is to run tox for projects using this
219 # Required Variables:
220 # stream: release stream (eg. stable-lithium or beryllium)
221 # branch: git branch (eg. stable/lithium or master)
222 # toxdir: directory containing the project's tox.ini relative to
223 # the workspace. Empty works if tox.ini is at project root.
225 <<: *tox_builder_verify
228 name: '{project-name}-merge-rtd-{stream}'
229 # Template for ReadTheDocs triggering
231 project-type: freestyle
236 - opendaylight-infra-parameters:
239 refspec: 'refs/heads/{branch}'
240 artifacts: '{archive-artifacts}'
243 - opendaylight-infra-wrappers:
244 build-timeout: '{build-timeout}'
247 - gerrit-trigger-patch-merged:
253 curl -X POST https://readthedocs.org/build/{rtdproject}
256 - email-notification:
257 email-recipients: '{email-recipients}'
258 email-prefix: '[{project}]'
259 - opendaylight-infra-shiplogs:
260 maven-version: 'mvn33'
265 name: '{project-name}-verify-node-{stream}'
267 # Job template for python verify jobs
269 # The purpose of this job template is to run node tests for projects using
270 # this template. It uses python virtualenv to install nodeenv and create a
271 # virtualenv for nodejs.
273 # Required Variables:
274 # stream: release stream (eg. boron or carbon)
275 # branch: git branch (eg. stable/boron or master)
276 # nodedir: directory of nodejs project to run node test against
277 # nodever: version of node to install in virtualenv
279 project-type: freestyle
286 artifactDaysToKeep: '-1'
287 artifactNumToKeep: '-1'
290 - opendaylight-infra-parameters:
293 refspec: 'refs/heads/{branch}'
294 artifacts: '{archive-artifacts}'
298 credentials-id: 'opendaylight-jenkins-ssh'
301 refspec: '$GERRIT_REFSPEC'
303 - 'origin/$GERRIT_BRANCH'
305 choosing-strategy: 'gerrit'
308 - opendaylight-infra-wrappers:
309 build-timeout: '{build-timeout}'
313 server-name: 'OpenDaylight'
315 - patchset-created-event:
316 exclude-drafts: 'true'
317 exclude-trivial-rebase: 'false'
318 exclude-no-code-change: 'true'
319 - draft-published-event
320 - comment-added-contains-event:
321 comment-contains-value: 'recheck'
322 - comment-added-contains-event:
323 comment-contains-value: 'renode'
325 - project-compare-type: 'ANT'
326 project-pattern: '{project}'
328 - branch-compare-type: 'ANT'
329 branch-pattern: '**/{branch}'
332 pattern: '{nodedir}/**'
338 virtualenv $WORKSPACE/venv-python
339 source $WORKSPACE/venv-python/bin/activate
340 pip install --upgrade pip
341 pip install --upgrade tox argparse nodeenv
345 nodeenv --node={nodever} --prebuilt $WORKSPACE/venv-node
346 source $WORKSPACE/venv-node/bin/activate
347 cd $WORKSPACE/repo/{nodedir}
352 - email-notification:
353 email-recipients: '{email-recipients}'
354 email-prefix: '[{project}]'
355 - opendaylight-infra-shiplogs:
356 maven-version: 'mvn33'