summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Hellmann <doug@doughellmann.com>2018-03-22 18:04:06 -0400
committerDoug Hellmann <doug@doughellmann.com>2018-04-25 09:33:54 -0400
commitb5ed14f90a8214700a9be2139d9e7aba82baaa99 (patch)
tree431621c7173bd21835e1690ebc2d37ee8f811a1c
parent5ed910cd32b0148b086ba4102a082aadb5e283bc (diff)
downloadpython-swiftclient-b5ed14f90a8214700a9be2139d9e7aba82baaa99.tar.gz
add lower-constraints job
Create a tox environment for running the unit tests against the lower bounds of the dependencies. Create a lower-constraints.txt to be used to enforce the lower bounds in those tests. Add openstack-tox-lower-constraints job to the zuul configuration. Update the dependencies needed to make the unit tests pass while constrained to the lower bounds. See http://lists.openstack.org/pipermail/openstack-dev/2018-March/128352.html for more details. Co-Authored-By: Nguyen Hai <nguyentrihai93@gmail.com> Change-Id: I2a8f465c8b08370517cbec857933b08fca94ca38 Depends-On: https://review.openstack.org/555034 Signed-off-by: Doug Hellmann <doug@doughellmann.com>
-rw-r--r--.zuul.yaml7
-rw-r--r--lower-constraints.txt46
-rw-r--r--requirements.txt9
-rw-r--r--setup.cfg2
-rw-r--r--setup.py14
-rw-r--r--test-requirements.txt13
-rw-r--r--tox.ini7
7 files changed, 84 insertions, 14 deletions
diff --git a/.zuul.yaml b/.zuul.yaml
new file mode 100644
index 0000000..67a39c4
--- /dev/null
+++ b/.zuul.yaml
@@ -0,0 +1,7 @@
+- project:
+ check:
+ jobs:
+ - openstack-tox-lower-constraints
+ gate:
+ jobs:
+ - openstack-tox-lower-constraints
diff --git a/lower-constraints.txt b/lower-constraints.txt
new file mode 100644
index 0000000..6488b28
--- /dev/null
+++ b/lower-constraints.txt
@@ -0,0 +1,46 @@
+alabaster==0.7.10
+Babel==2.3.4
+certifi==2018.1.18
+chardet==3.0.4
+coverage==4.0
+docutils==0.11
+dulwich==0.15.0
+extras==1.0.0
+fixtures==3.0.0
+flake8==2.2.4
+futures==3.0.0
+hacking==0.10.0
+idna==2.6
+imagesize==0.7.1
+iso8601==0.1.8
+Jinja2==2.10
+keystoneauth1==3.4.0
+linecache2==1.0.0
+MarkupSafe==1.0
+mccabe==0.2.1
+mock==1.2.0
+netaddr==0.7.10
+openstackdocstheme==1.18.1
+oslo.config==1.2.0
+oslosphinx==4.7.0
+pbr==2.0.0
+pep8==1.5.7
+PrettyTable==0.7
+pyflakes==0.8.1
+Pygments==2.2.0
+python-keystoneclient==3.8.0
+python-mimeparse==1.6.0
+python-subunit==1.0.0
+pytz==2013.6
+PyYAML==3.12
+reno==2.5.0
+requests==2.14.2
+six==1.10.0
+snowballstemmer==1.2.1
+sphinx==1.6.2
+sphinxcontrib-websupport==1.0.1
+testrepository==0.0.18
+testtools==2.2.0
+traceback2==1.4.0
+unittest2==1.1.0
+urllib3==1.22
diff --git a/requirements.txt b/requirements.txt
index 6d31e09..6b52791 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,3 +1,6 @@
-futures>=3.0;python_version=='2.7' or python_version=='2.6' # BSD
-requests>=1.1
-six>=1.5.2
+# The order of packages is significant, because pip processes them in the order
+# of appearance. Changing the order has an impact on the overall integration
+# process, which may cause wedges in the gate later.
+futures>=3.0.0;python_version=='2.7' or python_version=='2.6' # BSD
+requests>=2.14.2 # Apache-2.0
+six>=1.10.0 # MIT
diff --git a/setup.cfg b/setup.cfg
index e4963db..f20bbca 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -34,7 +34,7 @@ data_files =
[extras]
keystone =
- python-keystoneclient>=0.7.0
+ python-keystoneclient>=3.8.0 # Apache-2.0
[entry_points]
console_scripts =
diff --git a/setup.py b/setup.py
index 16a18f6..518f1d3 100644
--- a/setup.py
+++ b/setup.py
@@ -17,10 +17,16 @@
# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT
import setuptools, sys
-if sys.version_info < (2, 7):
- sys.exit('Sorry, Python < 2.7 is not supported for'
- ' python-swiftclient>=3.0')
+import setuptools
+
+# In python < 2.7.4, a lazy loading of package `pbr` will break
+# setuptools if some other modules registered functions in `atexit`.
+# solution from: http://bugs.python.org/issue15881#msg170215
+try:
+ import multiprocessing # noqa
+except ImportError:
+ pass
setuptools.setup(
- setup_requires=['pbr'],
+ setup_requires=['pbr>=2.0.0'],
pbr=True)
diff --git a/test-requirements.txt b/test-requirements.txt
index a9a0c7f..634851e 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -1,9 +1,10 @@
-hacking>=0.10.0,<0.11
+hacking<0.11,>=0.10.0
-coverage>=3.6
-mock>=1.2
+coverage!=4.4,>=4.0 # Apache-2.0
+keystoneauth1>=3.4.0 # Apache-2.0
+mock>=1.2.0 # BSD
oslosphinx>=4.7.0 # Apache-2.0
-sphinx>=1.1.2,<1.2
+sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
testrepository>=0.0.18
-reno>=1.8.0,!=2.3.1 # Apache-2.0
-openstackdocstheme>=1.16.0 # Apache-2.0
+reno>=2.5.0 # Apache-2.0
+openstackdocstheme>=1.18.1 # Apache-2.0
diff --git a/tox.ini b/tox.ini
index 015913c..660248b 100644
--- a/tox.ini
+++ b/tox.ini
@@ -70,3 +70,10 @@ commands = bindep test
[testenv:releasenotes]
commands = sphinx-build -a -W -E -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
+
+[testenv:lower-constraints]
+basepython = python3
+deps =
+ -c{toxinidir}/lower-constraints.txt
+ -r{toxinidir}/test-requirements.txt
+ .[keystone]