3 name: '{project-name}-release-java'
5 # Job template for producing a release candidate by creating a staging repo
8 project-type: freestyle
13 - opendaylight-infra-properties:
14 build-days-to-keep: 30
17 - opendaylight-infra-parameters:
20 refspec: 'refs/heads/{branch}'
21 artifacts: '{archive-artifacts}'
24 stage-id: '{stage-id}'
28 credentials-id: 'opendaylight-jenkins-ssh'
37 - opendaylight-infra-wrappers:
38 build-timeout: '{build-timeout}'
41 - wipe-org-opendaylight-repo
42 - jacoco-nojava-workaround
43 - provide-maven-settings:
44 global-settings-file: 'odl-global-settings'
45 settings-file: 'autorelease-settings'
47 maven-version: 'mvn33'
51 -Dmaven.repo.local=/tmp/r
52 -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
54 -DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage
56 - '-Xmx1024m -XX:MaxPermSize=256m'
57 settings: 'autorelease-settings'
59 global-settings: 'odl-global-settings'
60 global-settings-type: cfp
61 - releng-stage-release
65 email-recipients: '{email-recipients}'
66 email-prefix: '[releng]'
67 - opendaylight-infra-shiplogs:
68 maven-version: 'mvn33'
72 name: '{project-name}-publish-p2repo'
74 # Job template for publishing a p2 repo given a URL to a zipped p2repo.
76 project-type: freestyle
81 - opendaylight-infra-parameters:
84 refspec: 'refs/heads/{branch}'
85 artifacts: '{archive-artifacts}'
89 - opendaylight-infra-wrappers:
90 build-timeout: '{build-timeout}'
93 - wipe-org-opendaylight-repo
94 - jacoco-nojava-workaround
95 - releng-fetch-p2zip-if-necessary:
96 maven-version: 'mvn33'
97 settings: '{mvn-settings}'
98 global-settings: 'odl-global-settings'
99 - releng-generate-p2pom
101 maven-version: 'mvn33'
103 goals: 'clean deploy -V -B -Dmaven.repo.local=/tmp/r'
104 settings: '{mvn-settings}'
106 global-settings: 'odl-global-settings'
107 global-settings-type: cfp
108 - releng-update-p2composite-metadata:
109 maven-version: 'mvn33'
110 settings: '{mvn-settings}'
111 global-settings: 'odl-global-settings'
114 - email-notification:
115 email-recipients: '{email-recipients}'
116 email-prefix: '[releng]'
117 - opendaylight-infra-shiplogs:
118 maven-version: 'mvn33'
120 # Generic tox-based verify action
122 - tox_builder_verify: &tox_builder_verify
123 name: tox_builder_verify
125 # Required Variables:
126 # branch: git branch (eg. stable/boron or master)
127 # toxdir: directory containing the project's tox.ini relative to
128 # the workspace. Empty works if tox.ini is at project root.
129 # Note that stream value is not needed.
131 project-type: freestyle
136 - opendaylight-infra-properties:
137 build-days-to-keep: 7
140 - opendaylight-infra-parameters:
143 refspec: 'refs/heads/{branch}'
144 artifacts: '{archive-artifacts}'
148 credentials-id: 'opendaylight-jenkins-ssh'
151 refspec: '$GERRIT_REFSPEC'
153 - 'origin/$GERRIT_BRANCH'
155 choosing-strategy: 'gerrit'
160 - opendaylight-infra-wrappers:
161 build-timeout: '{build-timeout}'
164 - gerrit-trigger-patch-submitted:
165 server: '{server-name}'
172 virtualenv $WORKSPACE/venv-tox
173 source $WORKSPACE/venv-tox/bin/activate
174 pip install --upgrade pip
175 pip install --upgrade tox argparse
177 cd $WORKSPACE/repo/{toxdir}
181 - email-notification:
182 email-recipients: '{email-recipients}'
183 email-prefix: '[{project}]'
184 - opendaylight-infra-shiplogs:
185 maven-version: 'mvn33'
188 name: '{project-name}-verify-tox-{stream}'
190 # Job template for verify jobs executing tox envlist
192 # The purpose of this job template is to run tox for projects using this
195 # Required Variables:
196 # stream: release stream (eg. stable-lithium or beryllium)
197 # branch: git branch (eg. stable/lithium or master)
198 # toxdir: directory containing the project's tox.ini relative to
199 # the workspace. Empty works if tox.ini is at project root.
201 <<: *tox_builder_verify
203 # Specification for projects outside release cycle, to avoid referring a stream.
204 # This is useful mailny for integration-test-jobs, which defines streams for Integration/Distribution,
205 # but the tox job is related to Integration/Test only.
208 name: '{project-name}-verify-tox-master'
210 # Job template for verify jobs executing tox envlist
212 # The purpose of this job template is to run tox for projects using this
215 # Required Variables:
216 # toxdir: directory containing the project's tox.ini relative to
217 # the workspace. Empty works if tox.ini is at project root.
221 <<: *tox_builder_verify
223 # Python (pep8) specific, project should migrate to {project-name}-verify-tox-{stream}
226 name: '{project-name}-verify-python-{stream}'
228 # Job template for python verify jobs
230 # The purpose of this job template is to run tox for projects using this
233 # Required Variables:
234 # stream: release stream (eg. stable-lithium or beryllium)
235 # branch: git branch (eg. stable/lithium or master)
236 # toxdir: directory containing the project's tox.ini relative to
237 # the workspace. Empty works if tox.ini is at project root.
239 <<: *tox_builder_verify
242 name: '{project-name}-merge-rtd-{stream}'
243 # Template for ReadTheDocs triggering
245 project-type: freestyle
250 - opendaylight-infra-parameters:
253 refspec: 'refs/heads/{branch}'
254 artifacts: '{archive-artifacts}'
257 - opendaylight-infra-wrappers:
258 build-timeout: '{build-timeout}'
261 - gerrit-trigger-patch-merged:
262 server-name: '{server-name}'
268 curl -X POST https://readthedocs.org/build/{rtdproject}
271 - email-notification:
272 email-recipients: '{email-recipients}'
273 email-prefix: '[{project}]'
274 - opendaylight-infra-shiplogs:
275 maven-version: 'mvn33'
280 name: '{project-name}-verify-node-{stream}'
282 # Job template for python verify jobs
284 # The purpose of this job template is to run node tests for projects using
285 # this template. It uses python virtualenv to install nodeenv and create a
286 # virtualenv for nodejs.
288 # Required Variables:
289 # stream: release stream (eg. boron or carbon)
290 # branch: git branch (eg. stable/boron or master)
291 # nodedir: directory of nodejs project to run node test against
292 # nodever: version of node to install in virtualenv
294 project-type: freestyle
299 - opendaylight-infra-properties:
300 build-days-to-keep: 7
303 - opendaylight-infra-parameters:
306 refspec: 'refs/heads/{branch}'
307 artifacts: '{archive-artifacts}'
311 credentials-id: 'opendaylight-jenkins-ssh'
314 refspec: '$GERRIT_REFSPEC'
316 - 'origin/$GERRIT_BRANCH'
318 choosing-strategy: 'gerrit'
321 - opendaylight-infra-wrappers:
322 build-timeout: '{build-timeout}'
325 - gerrit-trigger-patch-submitted:
326 server: '{server-name}'
329 files: '{nodedir}/**'
335 virtualenv $WORKSPACE/venv-python
336 source $WORKSPACE/venv-python/bin/activate
337 pip install --upgrade pip
338 pip install --upgrade tox argparse nodeenv
342 nodeenv --node={nodever} --prebuilt $WORKSPACE/venv-node
343 source $WORKSPACE/venv-node/bin/activate
344 cd $WORKSPACE/repo/{nodedir}
349 - email-notification:
350 email-recipients: '{email-recipients}'
351 email-prefix: '[{project}]'
352 - opendaylight-infra-shiplogs:
353 maven-version: 'mvn33'