summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Piercy <web@stevepiercy.com>2020-11-12 02:04:12 -0800
committerSteve Piercy <web@stevepiercy.com>2020-11-12 02:04:12 -0800
commit4c012876abcbd579a39b1a34b07d60cc9fe3bd22 (patch)
tree80219b6bee666a7345f54d4e242f9ad380047fdb
parent6860cbcb368cc3af8f7f650fa5253d7b2538d903 (diff)
downloadwebtest-4c012876abcbd579a39b1a34b07d60cc9fe3bd22.tar.gz
- Add Python 3.9
- Merge deps and requirements from tox.ini into setup.py, and remove from tox.ini. - Set minimum coverage percent to 100. WebTest's coverage has actually been failing for over 7 years. Oops! https://travis-ci.org/github/Pylons/webtest/jobs/23066821 - Bump docs tox env to Python 3.9 - Sort reqs and extras in setup.py - Use consistent indentation in tox.ini
-rw-r--r--.github/workflows/ci-tests.yml73
-rw-r--r--.travis.yml24
-rw-r--r--CHANGELOG.rst6
-rw-r--r--setup.py10
-rw-r--r--tox.ini35
5 files changed, 100 insertions, 48 deletions
diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml
new file mode 100644
index 0000000..956694b
--- /dev/null
+++ b/.github/workflows/ci-tests.yml
@@ -0,0 +1,73 @@
+name: Build and test
+
+on:
+ # Build on pushes to master or github-actions only
+ push:
+ branches:
+ - master
+ - github-actions
+ tags:
+ # Build pull requests
+ pull_request:
+
+jobs:
+ test:
+ strategy:
+ matrix:
+ py:
+ - "3.6"
+ - "3.7"
+ - "3.8"
+ - "3.9"
+ os:
+ - "ubuntu-latest"
+ - "windows-latest"
+ - "macos-latest"
+ architecture:
+ - x64
+ - x86
+ exclude:
+ # Linux and macOS don't have x86 python
+ - os: "ubuntu-latest"
+ architecture: x86
+ - os: "macos-latest"
+ architecture: x86
+
+ name: "Python: ${{ matrix.py }}-${{ matrix.architecture }} on ${{ matrix.os }}"
+ runs-on: ${{ matrix.os }}
+ steps:
+ - uses: actions/checkout@v2
+ - name: Setup python
+ uses: actions/setup-python@v2
+ with:
+ python-version: ${{ matrix.py }}
+ architecture: ${{ matrix.architecture }}
+ - run: pip install tox
+ - name: Running tox
+ run: tox -e py
+ coverage:
+ runs-on: ubuntu-latest
+ name: Validate coverage
+ # Assume coverage is identical across supported versions of Python.
+ # Choose the latest Python.
+ steps:
+ - uses: actions/checkout@v2
+ - name: Setup python
+ uses: actions/setup-python@v2
+ with:
+ python-version: 3.9
+ architecture: x64
+ - run: pip install tox
+ - run: tox -e coverage
+ docs:
+ runs-on: ubuntu-latest
+ name: Build the documentation
+ steps:
+ - uses: actions/checkout@v2
+ - name: Setup python
+ uses: actions/setup-python@v2
+ with:
+ python-version: 3.9
+ architecture: x64
+ - run: pip install tox
+ - run: tox -e docs
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index fd8ba29..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-language: python
-
-matrix:
- include:
- - python: 3.6
- env: TOXENV=py36
- - python: 3.7
- env: TOXENV=py37
- dist: xenial
- - python: 3.8
- env: TOXENV=py38
-
- - python: 3.6
- env: TOXENV=docs
-
-install:
- - travis_retry pip install tox
-
-script:
- - travis_retry tox
-
-cache:
- directories:
- - $HOME/.cache/pip
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index 5e91764..23f33c5 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -6,6 +6,12 @@ News
- Dropped support for Python 2.7 and 3.5.
+- Added support for Python 3.9.
+
+- Clean up dependencies and requirements.
+
+- Switch from Travis to GitHub Actions for building and testing.
+
2.0.35 (2020-04-27)
-------------------
diff --git a/setup.py b/setup.py
index 3c89626..73da336 100644
--- a/setup.py
+++ b/setup.py
@@ -12,14 +12,17 @@ install_requires = [
]
tests_require = [
- 'nose<1.3.0', 'coverage',
- 'PasteDeploy', 'WSGIProxy2', 'pyquery'
+ 'coverage',
+ 'PasteDeploy',
+ 'pyquery',
+ 'pytest',
+ 'WSGIProxy2',
]
docs_extras = [
- 'Sphinx >= 1.8.1',
'docutils',
'pylons-sphinx-themes >= 1.0.8',
+ 'Sphinx >= 1.8.1',
]
setup(name='WebTest',
@@ -38,6 +41,7 @@ setup(name='WebTest',
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
+ "Programming Language :: Python :: 3.9",
],
keywords='wsgi test unit tests web',
author='Ian Bicking',
diff --git a/tox.ini b/tox.ini
index 82fabb1..f51defb 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,43 +1,36 @@
[tox]
skip_missing_interpreters=true
-envlist=py36,py37,py38,coverage,docs
+envlist=py36,py37,py38,py39,coverage,docs
[testenv]
-skip_install=true
setenv =
- LC_ALL=C
- LANG=C
- COVERAGE_FILE=.coverage.{envname}
-deps =
- pytest
- -e .[tests,docs]
- lxml
- pyquery
- BeautifulSoup4
- PasteDeploy
- WSGIProxy2
- coverage
+ LC_ALL=C
+ LANG=C
+ COVERAGE_FILE=.coverage.{envname}
+extras =
+ tests
commands =
- python --version
- pip freeze
- coverage run {envbindir}/pytest -xv []
- coverage report --show-missing
+ python --version
+ pip freeze
+ coverage run {envbindir}/pytest -xv []
+ coverage report --show-missing
[testenv:coverage]
skip_install=false
skipsdist=true
+depends = py36,py37,py38,py39
deps =
coverage
setenv =
- COVERAGE_FILE=.coverage
+ COVERAGE_FILE=.coverage
commands =
{envbindir}/coverage erase
{envbindir}/coverage combine
{envbindir}/coverage xml
- {envbindir}/coverage report --show-missing
+ {envbindir}/coverage report --show-missing --fail-under=100
[testenv:docs]
-basepython = python3.6
+basepython = python3.9
whitelist_externals = make
commands =
make -C docs html BUILDDIR={envdir} "SPHINXOPTS=-W -E"