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: '{server-name}'
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:
248 server-name: '{server-name}'
254 curl -X POST https://readthedocs.org/build/{rtdproject}
257 - email-notification:
258 email-recipients: '{email-recipients}'
259 email-prefix: '[{project}]'
260 - opendaylight-infra-shiplogs:
261 maven-version: 'mvn33'
266 name: '{project-name}-verify-node-{stream}'
268 # Job template for python verify jobs
270 # The purpose of this job template is to run node tests for projects using
271 # this template. It uses python virtualenv to install nodeenv and create a
272 # virtualenv for nodejs.
274 # Required Variables:
275 # stream: release stream (eg. boron or carbon)
276 # branch: git branch (eg. stable/boron or master)
277 # nodedir: directory of nodejs project to run node test against
278 # nodever: version of node to install in virtualenv
280 project-type: freestyle
287 artifactDaysToKeep: '-1'
288 artifactNumToKeep: '-1'
291 - opendaylight-infra-parameters:
294 refspec: 'refs/heads/{branch}'
295 artifacts: '{archive-artifacts}'
299 credentials-id: 'opendaylight-jenkins-ssh'
302 refspec: '$GERRIT_REFSPEC'
304 - 'origin/$GERRIT_BRANCH'
306 choosing-strategy: 'gerrit'
309 - opendaylight-infra-wrappers:
310 build-timeout: '{build-timeout}'
314 server-name: '{server-name}'
316 - patchset-created-event:
317 exclude-drafts: 'true'
318 exclude-trivial-rebase: 'false'
319 exclude-no-code-change: 'true'
320 - draft-published-event
321 - comment-added-contains-event:
322 comment-contains-value: 'recheck'
323 - comment-added-contains-event:
324 comment-contains-value: 'renode'
326 - project-compare-type: 'ANT'
327 project-pattern: '{project}'
329 - branch-compare-type: 'ANT'
330 branch-pattern: '**/{branch}'
333 pattern: '{nodedir}/**'
339 virtualenv $WORKSPACE/venv-python
340 source $WORKSPACE/venv-python/bin/activate
341 pip install --upgrade pip
342 pip install --upgrade tox argparse nodeenv
346 nodeenv --node={nodever} --prebuilt $WORKSPACE/venv-node
347 source $WORKSPACE/venv-node/bin/activate
348 cd $WORKSPACE/repo/{nodedir}
353 - email-notification:
354 email-recipients: '{email-recipients}'
355 email-prefix: '[{project}]'
356 - opendaylight-infra-shiplogs:
357 maven-version: 'mvn33'