summaryrefslogtreecommitdiff
path: root/tox.ini
diff options
context:
space:
mode:
Diffstat (limited to 'tox.ini')
-rw-r--r--tox.ini55
1 files changed, 39 insertions, 16 deletions
diff --git a/tox.ini b/tox.ini
index e0eef95a..2164599f 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,26 +1,30 @@
-# Note: Run "python bootstrap.py" before running Tox, to generate metadata.
-#
# To run Tox against all supported Python interpreters, you can set:
#
-# export TOXENV='py27,py3{4,5,6},pypy,pypy3'
+# export TOXENV='py3{5,6,7,8},pypy,pypy3'
[tox]
envlist=python
+minversion = 3.2
+requires =
+ tox-pip-version >= 0.0.6
+
+[helpers]
+# Custom pip behavior
+pip = python {toxinidir}/tools/tox_pip.py
[testenv]
-deps=-rtests/requirements.txt
-# Changed from default (`python -m pip ...`)
-# to prevent the current working directory
-# from being added to `sys.path`.
-install_command=python -c 'import sys; sys.path.remove(""); from pkg_resources import load_entry_point; load_entry_point("pip", "console_scripts", "pip")()' install {opts} {packages}
-# Same as above.
-list_dependencies_command={envbindir}/pip freeze --all
-setenv=COVERAGE_FILE={toxworkdir}/.coverage.{envname}
+pip_version = pip
+install_command = {[helpers]pip} install {opts} {packages}
+list_dependencies_command = {[helpers]pip} freeze --all
+setenv =
+ COVERAGE_FILE={toxworkdir}/.coverage.{envname}
# TODO: The passed environment variables came from copying other tox.ini files
# These should probably be individually annotated to explain what needs them.
passenv=APPDATA HOMEDRIVE HOMEPATH windir APPVEYOR APPVEYOR_* CI CODECOV_* TRAVIS TRAVIS_* NETWORK_REQUIRED
commands=pytest --cov-config={toxinidir}/tox.ini --cov-report= {posargs}
usedevelop=True
+extras =
+ tests
[testenv:coverage]
@@ -40,12 +44,12 @@ skip_install=True
commands=codecov -X gcov --file {toxworkdir}/coverage.xml
[testenv:docs]
-deps = -r{toxinidir}/docs/requirements.txt
-skip_install=True
+extras =
+ docs
+ testing
+changedir = docs
commands =
- python {toxinidir}/bootstrap.py
- sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/build/html
- sphinx-build -W -b man -d {envtmpdir}/doctrees docs docs/build/man
+ python -m sphinx . {toxinidir}/build/html
[coverage:run]
source=
@@ -53,3 +57,22 @@ source=
setuptools
omit=
*/_vendor/*
+
+[testenv:release]
+skip_install = True
+deps =
+ wheel
+ twine[keyring]>=1.13
+ path
+ jaraco.tidelift
+passenv =
+ TWINE_PASSWORD
+ TIDELIFT_TOKEN
+setenv =
+ TWINE_USERNAME = {env:TWINE_USERNAME:__token__}
+commands =
+ python -m bootstrap
+ python -c "import path; path.Path('dist').rmtree_p()"
+ python setup.py release
+ python -m twine upload dist/*
+ python -m jaraco.tidelift.publish-release-notes