From 4e35b0ee64a249c8461efc1c4374dd6cd9253220 Mon Sep 17 00:00:00 2001 From: Jim Rollenhagen Date: Thu, 19 May 2016 09:38:30 -0400 Subject: [PATCH] Use constraints for all the things This configures tox to use upper-constraints for everything, except environments used for post jobs (as constraints aren't supported there yet). This also doesn't enable constraints for our image builds, as it isn't possible to pass an environment variable into the Dockerfile to allow folks to choose their own constraints file (and we don't want to force people to rely on git.o.o for building images). Change-Id: I285855c6386f59e9dd352473aa28463109818c90 --- Dockerfile | 1 + tox.ini | 20 +++++++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index e154f6e4a..1857efb9b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -39,6 +39,7 @@ RUN apt-mark manual python-minimal # Install requirements separately, because pip understands a git+https url # while setuptools doesn't RUN proxy.sh pip install --upgrade pip +# TODO(jroll) use upper-constraints here RUN proxy.sh pip install --no-cache-dir -r /tmp/ironic-python-agent/requirements.txt # This will succeed because all the dependencies were installed previously diff --git a/tox.ini b/tox.ini index fa1c28a88..beba1a075 100644 --- a/tox.ini +++ b/tox.ini @@ -5,7 +5,7 @@ envlist = py34,py27,func,pep8 [testenv] usedevelop = True -install_command = pip install --allow-external -U {opts} {packages} +install_command = pip install -U -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages} setenv = VIRTUAL_ENV={envdir} OS_TEST_PATH=./ironic_python_agent/tests/unit @@ -29,11 +29,23 @@ commands = doc8 doc/source README.rst [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} setenv = VIRTUAL_ENV={envdir} commands = python setup.py test --coverage --coverage-package-name ironic_python_agent {posargs} [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 docs 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} setenv = PYTHONHASHSEED=0 commands = {posargs:} @@ -49,6 +61,12 @@ commands = python setup.py build_sphinx [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 releasenotes 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} envdir = {toxworkdir}/venv commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html