summaryrefslogtreecommitdiff
path: root/tox.ini
diff options
context:
space:
mode:
Diffstat (limited to 'tox.ini')
-rw-r--r--tox.ini47
1 files changed, 35 insertions, 12 deletions
diff --git a/tox.ini b/tox.ini
index 048e6ea2..cb57c87f 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,21 +1,25 @@
-# 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=-rsetuptools/tests/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}
+deps=-r{toxinidir}/setuptools/tests/requirements.txt
+pip_version = pip
+install_command = {[helpers]pip} install {opts} {packages}
+list_dependencies_command = {[helpers]pip} freeze --all
+setenv =
+ COVERAGE_FILE={toxworkdir}/.coverage.{envname}
+ py27: PIP_IGNORE_REQUIRES_PYTHON=true
# 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
@@ -43,7 +47,7 @@ commands=codecov -X gcov --file {toxworkdir}/coverage.xml
deps = -r{toxinidir}/docs/requirements.txt
skip_install=True
commands =
- python {toxinidir}/bootstrap.py
+ python -m bootstrap
sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/build/html
sphinx-build -W -b man -d {envtmpdir}/doctrees docs docs/build/man
@@ -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