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}'
154 - gerrit-trigger-patch-submitted:
155 server: '{server-name}'
162 virtualenv $WORKSPACE/venv-tox
163 source $WORKSPACE/venv-tox/bin/activate
164 pip install --upgrade pip
165 pip install --upgrade tox argparse
167 cd $WORKSPACE/repo/{toxdir}
171 - email-notification:
172 email-recipients: '{email-recipients}'
173 email-prefix: '[{project}]'
174 - opendaylight-infra-shiplogs:
175 maven-version: 'mvn33'
178 name: '{project-name}-verify-tox-{stream}'
180 # Job template for verify jobs executing tox envlist
182 # The purpose of this job template is to run tox for projects using this
185 # Required Variables:
186 # stream: release stream (eg. stable-lithium or beryllium)
187 # branch: git branch (eg. stable/lithium or master)
188 # toxdir: directory containing the project's tox.ini relative to
189 # the workspace. Empty works if tox.ini is at project root.
191 <<: *tox_builder_verify
193 # Python (pep8) specific, project should migrate to {project-name}-verify-tox-{stream}
196 name: '{project-name}-verify-python-{stream}'
198 # Job template for python verify jobs
200 # The purpose of this job template is to run tox for projects using this
203 # Required Variables:
204 # stream: release stream (eg. stable-lithium or beryllium)
205 # branch: git branch (eg. stable/lithium or master)
206 # toxdir: directory containing the project's tox.ini relative to
207 # the workspace. Empty works if tox.ini is at project root.
209 <<: *tox_builder_verify
212 name: '{project-name}-merge-rtd-{stream}'
213 # Template for ReadTheDocs triggering
215 project-type: freestyle
220 - opendaylight-infra-parameters:
223 refspec: 'refs/heads/{branch}'
224 artifacts: '{archive-artifacts}'
227 - opendaylight-infra-wrappers:
228 build-timeout: '{build-timeout}'
231 - gerrit-trigger-patch-merged:
232 server-name: '{server-name}'
238 curl -X POST https://readthedocs.org/build/{rtdproject}
241 - email-notification:
242 email-recipients: '{email-recipients}'
243 email-prefix: '[{project}]'
244 - opendaylight-infra-shiplogs:
245 maven-version: 'mvn33'
250 name: '{project-name}-verify-node-{stream}'
252 # Job template for python verify jobs
254 # The purpose of this job template is to run node tests for projects using
255 # this template. It uses python virtualenv to install nodeenv and create a
256 # virtualenv for nodejs.
258 # Required Variables:
259 # stream: release stream (eg. boron or carbon)
260 # branch: git branch (eg. stable/boron or master)
261 # nodedir: directory of nodejs project to run node test against
262 # nodever: version of node to install in virtualenv
264 project-type: freestyle
271 artifactDaysToKeep: '-1'
272 artifactNumToKeep: '-1'
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'