Trove's tox tests should respect upper-constraints.txt

This will force pip install to use the upper-constraints.txt specified
version of pip modules. When you don't do this, you are out on the
bleeding edge and become unstable everytime some python library in the
wide world changes in a way that you don't expect.

The releasenotes job has no constraints file, so override the install
command there.

Change-Id: Ie1133e4c020106e8098685ba9125f84b356d8e0c
Closes-Bug: #1563038
This commit is contained in:
Amrith Kumar 2016-03-29 12:07:14 -04:00
parent d6d212fe45
commit aca90168f5
1 changed files with 25 additions and 1 deletions

26
tox.ini
View File

@ -6,7 +6,7 @@ skipsdist = True
[testenv]
setenv = VIRTUAL_ENV={envdir}
usedevelop = True
install_command = pip install -U {opts} {packages}
install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} -U {opts} {packages}
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands = find ./trove -type f -name "*.pyc" -delete
@ -30,6 +30,12 @@ commands =
commands = oslo_debug_helper {posargs}
[testenv:cover]
# NOTE(amrith) The setting of the install_command in this location
# is only required because currently infra does not actually
# support constraints files for the cover job, and while
# the environment variable UPPER_CONSTRAINTS_FILE is set, there's
# no file there. It can be removed when infra changes this.
install_command = pip install -U {opts} {packages}
basepython = python2.7
commands =
coverage erase
@ -41,6 +47,12 @@ commands =
[testenv:venv]
# NOTE(amrith) The setting of the install_command in this location
# is only required because currently infra does not actually
# support constraints files for the venv job, and while
# the environment variable UPPER_CONSTRAINTS_FILE is set, there's
# no file there. It can be removed when infra changes this.
install_command = pip install -U {opts} {packages}
commands = {posargs}
[flake8]
@ -61,7 +73,19 @@ commands =
openstack-doc-test --check-build {posargs}
[testenv:publishdocs]
# NOTE(amrith) The setting of the install_command in this location
# is only required because currently infra does not actually
# support constraints files for the publishdocs job, and while
# the environment variable UPPER_CONSTRAINTS_FILE is set, there's
# no file there. It can be removed when infra changes this.
install_command = pip install -U {opts} {packages}
commands = openstack-doc-test --check-build --publish --force
[testenv:releasenotes]
# NOTE(amrith) The setting of the install_command in this location
# is only required because currently infra does not actually
# support constraints files for the release notes job, and while
# the environment variable UPPER_CONSTRAINTS_FILE is set, there's
# no file there. It can be removed when infra changes this.
install_command = pip install -U {opts} {packages}
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html