<NME> tox.ini
<BEF> [tox]
envlist=flake8,py27,py36,py37,py38,py39,pypy,pypy3,docs,coverage
skip_missing_interpreters=True

[testenv]
commands=
    coverage run --branch --include=flask_httpauth.py setup.py test
    coverage report --show-missing
    coverage erase
deps=
    coverage

[testenv:flake8]
basepython=python3.8
deps=
    flake8
commands=
    flake8 --exclude=".*" --ignore=E402 flask_httpauth.py tests examples

[testenv:py27]
basepython=python2.7

[testenv:py36]
basepython=python3.6

[testenv:py37]
basepython=python3.7

[testenv:py38]
basepython=python3.8

[testenv:py39]
basepython=python3.9

[testenv:pypy]
basepython=pypy

[testenv:pypy3]
basepython=pypy3

[testenv:docs]
basepython=python3.8
changedir=docs
deps=
    sphinx
    make
    make
commands=
    make html

[testenv:coverage]
basepython=python
commands=
    coverage run --branch --source=flask_httpauth.py setup.py test
    coverage html
    coverage erase

<MSG> Move builds to GitHub actions

<DFF> @@ -1,45 +1,33 @@
 [tox]
-envlist=flake8,py27,py36,py37,py38,py39,pypy,pypy3,docs,coverage
+envlist=flake8,py27,py36,py37,py38,py39,pypy2,pypy3,docs,coverage
 skip_missing_interpreters=True
 
+[gh-actions]
+python =
+    2.7: py27
+    3.6: py36
+    3.7: py37
+    3.8: py38
+    3.9: py39
+    pypy2: pypy2
+    pypy3: pypy3
+
 [testenv]
 commands=
     coverage run --branch --include=flask_httpauth.py setup.py test
     coverage report --show-missing
+    coverage xml -o coverage.xml
     coverage erase
 deps=
     coverage
 
 [testenv:flake8]
-basepython=python3.8
 deps=
     flake8
 commands=
     flake8 --exclude=".*" --ignore=E402 flask_httpauth.py tests examples
 
-[testenv:py27]
-basepython=python2.7
-
-[testenv:py36]
-basepython=python3.6
-
-[testenv:py37]
-basepython=python3.7
-
-[testenv:py38]
-basepython=python3.8
-
-[testenv:py39]
-basepython=python3.9
-
-[testenv:pypy]
-basepython=pypy
-
-[testenv:pypy3]
-basepython=pypy3
-
 [testenv:docs]
-basepython=python3.8
 changedir=docs
 deps=
     sphinx
@@ -47,10 +35,3 @@ whitelist_externals=
     make
 commands=
     make html
-
-[testenv:coverage]
-basepython=python
-commands=
-    coverage run --branch --source=flask_httpauth.py setup.py test
-    coverage html
-    coverage erase

Move builds to GitHub actions