2 name: '{project-name}-release-java'
4 # Job template for producing a release candidate by creating a staging repo
7 project-type: freestyle
12 - opendaylight-infra-properties:
13 build-days-to-keep: 30
16 - opendaylight-infra-parameters:
19 refspec: 'refs/heads/{branch}'
20 artifacts: '{archive-artifacts}'
23 stage-id: '{stage-id}'
27 credentials-id: 'opendaylight-jenkins-ssh'
36 - opendaylight-infra-wrappers:
37 build-timeout: '{build-timeout}'
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'
46 maven-version: 'mvn33'
48 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 - '-Xmx1024m -XX:MaxPermSize=256m'
51 settings: 'autorelease-settings'
53 global-settings: 'odl-global-settings'
54 global-settings-type: cfp
55 - releng-stage-release
59 email-recipients: '{email-recipients}'
60 email-prefix: '[releng]'
61 - opendaylight-infra-shiplogs:
62 maven-version: 'mvn33'
66 name: '{project-name}-publish-p2repo'
68 # Job template for publishing a p2 repo given a URL to a zipped p2repo.
70 project-type: freestyle
75 - opendaylight-infra-parameters:
78 refspec: 'refs/heads/{branch}'
79 artifacts: '{archive-artifacts}'
83 - opendaylight-infra-wrappers:
84 build-timeout: '{build-timeout}'
87 - wipe-org-opendaylight-repo
88 - jacoco-nojava-workaround
89 - releng-fetch-p2zip-if-necessary:
90 maven-version: 'mvn33'
91 settings: '{mvn-settings}'
92 global-settings: 'odl-global-settings'
93 - releng-generate-p2pom
95 maven-version: 'mvn33'
97 goals: 'clean deploy -V -B -Dmaven.repo.local=/tmp/r'
98 settings: '{mvn-settings}'
100 global-settings: 'odl-global-settings'
101 global-settings-type: cfp
102 - releng-update-p2composite-metadata:
103 maven-version: 'mvn33'
104 settings: '{mvn-settings}'
105 global-settings: 'odl-global-settings'
108 - email-notification:
109 email-recipients: '{email-recipients}'
110 email-prefix: '[releng]'
111 - opendaylight-infra-shiplogs:
112 maven-version: 'mvn33'
114 # Generic tox-based verify action
116 - tox_builder_verify: &tox_builder_verify
117 name: tox_builder_verify
119 # Required Variables:
120 # stream: release stream (eg. boron or carbon)
121 # branch: git branch (eg. stable/boron or master)
122 # toxdir: directory containing the project's tox.ini relative to
123 # the workspace. Empty works if tox.ini is at project root.
125 project-type: freestyle
130 - opendaylight-infra-properties:
131 build-days-to-keep: 7
134 - opendaylight-infra-parameters:
137 refspec: 'refs/heads/{branch}'
138 artifacts: '{archive-artifacts}'
142 credentials-id: 'opendaylight-jenkins-ssh'
145 refspec: '$GERRIT_REFSPEC'
147 - 'origin/$GERRIT_BRANCH'
149 choosing-strategy: 'gerrit'
152 - opendaylight-infra-wrappers:
153 build-timeout: '{build-timeout}'
156 - gerrit-trigger-patch-submitted:
157 server: '{server-name}'
164 virtualenv $WORKSPACE/venv-tox
165 source $WORKSPACE/venv-tox/bin/activate
166 pip install --upgrade pip
167 pip install --upgrade tox argparse
169 cd $WORKSPACE/repo/{toxdir}
173 - email-notification:
174 email-recipients: '{email-recipients}'
175 email-prefix: '[{project}]'
176 - opendaylight-infra-shiplogs:
177 maven-version: 'mvn33'
180 name: '{project-name}-verify-tox-{stream}'
182 # Job template for verify jobs executing tox envlist
184 # The purpose of this job template is to run tox for projects using this
187 # Required Variables:
188 # stream: release stream (eg. stable-lithium or beryllium)
189 # branch: git branch (eg. stable/lithium or master)
190 # toxdir: directory containing the project's tox.ini relative to
191 # the workspace. Empty works if tox.ini is at project root.
193 <<: *tox_builder_verify
195 # Python (pep8) specific, project should migrate to {project-name}-verify-tox-{stream}
198 name: '{project-name}-verify-python-{stream}'
200 # Job template for python verify jobs
202 # The purpose of this job template is to run tox for projects using this
205 # Required Variables:
206 # stream: release stream (eg. stable-lithium or beryllium)
207 # branch: git branch (eg. stable/lithium or master)
208 # toxdir: directory containing the project's tox.ini relative to
209 # the workspace. Empty works if tox.ini is at project root.
211 <<: *tox_builder_verify
214 name: '{project-name}-merge-rtd-{stream}'
215 # Template for ReadTheDocs triggering
217 project-type: freestyle
222 - opendaylight-infra-parameters:
225 refspec: 'refs/heads/{branch}'
226 artifacts: '{archive-artifacts}'
229 - opendaylight-infra-wrappers:
230 build-timeout: '{build-timeout}'
233 - gerrit-trigger-patch-merged:
234 server-name: '{server-name}'
240 curl -X POST https://readthedocs.org/build/{rtdproject}
243 - email-notification:
244 email-recipients: '{email-recipients}'
245 email-prefix: '[{project}]'
246 - opendaylight-infra-shiplogs:
247 maven-version: 'mvn33'
252 name: '{project-name}-verify-node-{stream}'
254 # Job template for python verify jobs
256 # The purpose of this job template is to run node tests for projects using
257 # this template. It uses python virtualenv to install nodeenv and create a
258 # virtualenv for nodejs.
260 # Required Variables:
261 # stream: release stream (eg. boron or carbon)
262 # branch: git branch (eg. stable/boron or master)
263 # nodedir: directory of nodejs project to run node test against
264 # nodever: version of node to install in virtualenv
266 project-type: freestyle
271 - opendaylight-infra-properties:
272 build-days-to-keep: 7
275 - opendaylight-infra-parameters:
278 refspec: 'refs/heads/{branch}'
279 artifacts: '{archive-artifacts}'
283 credentials-id: 'opendaylight-jenkins-ssh'
286 refspec: '$GERRIT_REFSPEC'
288 - 'origin/$GERRIT_BRANCH'
290 choosing-strategy: 'gerrit'
293 - opendaylight-infra-wrappers:
294 build-timeout: '{build-timeout}'
297 - gerrit-trigger-patch-submitted:
298 server: '{server-name}'
301 files: '{nodedir}/**'
307 virtualenv $WORKSPACE/venv-python
308 source $WORKSPACE/venv-python/bin/activate
309 pip install --upgrade pip
310 pip install --upgrade tox argparse nodeenv
314 nodeenv --node={nodever} --prebuilt $WORKSPACE/venv-node
315 source $WORKSPACE/venv-node/bin/activate
316 cd $WORKSPACE/repo/{nodedir}
321 - email-notification:
322 email-recipients: '{email-recipients}'
323 email-prefix: '[{project}]'
324 - opendaylight-infra-shiplogs:
325 maven-version: 'mvn33'