Skip to content

Commit aee1fa4

Browse files
committed
fixed ci/cd
1 parent 0ff8179 commit aee1fa4

File tree

2 files changed

+71
-67
lines changed

2 files changed

+71
-67
lines changed

.github/workflows/ci.yml

Lines changed: 4 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -8,67 +8,18 @@ on:
88

99
jobs:
1010
test:
11-
name: ${{ matrix.tox-env }} (${{ matrix.os }})
11+
name: ${{ matrix.python-version }} / ${{ matrix.os }}
1212
runs-on: ${{ matrix.os }}
1313
strategy:
1414
fail-fast: false
1515
matrix:
1616
os: [ubuntu-22.04, windows-latest, macos-latest]
17-
tox-env:
18-
- py38-cover
19-
- py38-nocov
20-
- py39-cover
21-
- py39-nocov
22-
- py310-cover
23-
- py310-nocov
24-
- py311-cover
25-
- py311-nocov
26-
- py312-cover
27-
- py312-nocov
28-
- pypy38-cover
29-
- pypy38-nocov
30-
- pypy39-cover
31-
- pypy39-nocov
32-
- pypy310-cover
33-
- pypy310-nocov
34-
include:
35-
- tox-env: py38-cover
36-
python-version: "3.8"
37-
- tox-env: py38-nocov
38-
python-version: "3.8"
39-
- tox-env: py39-cover
40-
python-version: "3.9"
41-
- tox-env: py39-nocov
42-
python-version: "3.9"
43-
- tox-env: py310-cover
44-
python-version: "3.10"
45-
- tox-env: py310-nocov
46-
python-version: "3.10"
47-
- tox-env: py311-cover
48-
python-version: "3.11"
49-
- tox-env: py311-nocov
50-
python-version: "3.11"
51-
- tox-env: py312-cover
52-
python-version: "3.12"
53-
- tox-env: py312-nocov
54-
python-version: "3.12"
55-
- tox-env: pypy38-cover
56-
python-version: "pypy-3.8"
57-
- tox-env: pypy38-nocov
58-
python-version: "pypy-3.8"
59-
- tox-env: pypy39-cover
60-
python-version: "pypy-3.9"
61-
- tox-env: pypy39-nocov
62-
python-version: "pypy-3.9"
63-
- tox-env: pypy310-cover
64-
python-version: "pypy-3.10"
65-
- tox-env: pypy310-nocov
66-
python-version: "pypy-3.10"
17+
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "pypy-3.8", "pypy-3.9", "pypy-3.10"]
6718

6819
steps:
6920
- uses: actions/checkout@v3
7021

71-
- name: Set up Python
22+
- name: Set up Python ${{ matrix.python-version }}
7223
uses: actions/setup-python@v4
7324
with:
7425
python-version: ${{ matrix.python-version }}
@@ -81,9 +32,7 @@ jobs:
8132
python -m pip install tox tox-gh-actions
8233
8334
- name: Test with tox
84-
env:
85-
TOXENV: ${{ matrix.tox-env }}
86-
run: tox -v
35+
run: tox --skip-missing-interpreters false
8736

8837
check:
8938
runs-on: ubuntu-22.04

tox.ini

Lines changed: 67 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,24 +10,79 @@ passenv =
1010

1111
; a generative tox configuration, see: https://tox.wiki/en/latest/user_guide.html#generative-environments
1212
[tox]
13-
envlist =
14-
py{38,39,310,311,312}
15-
pypy{38,39,310}
13+
envlist =
14+
clean,
15+
check,
16+
docs,
17+
py{38,39,310,311,312}-{cover,nocov},
18+
pypy{38,39,310}-{cover,nocov},
19+
report
20+
skip_missing_interpreters = true
1621

1722
[testenv]
23+
basepython =
24+
py38: python3.8
25+
py39: python3.9
26+
py310: python3.10
27+
py311: python3.11
28+
py312: python3.12
29+
pypy38: pypy3.8
30+
pypy39: pypy3.9
31+
pypy310: pypy3.10
32+
{clean,check,docs,report}: python3
33+
setenv =
34+
PYTHONPATH={toxinidir}/tests
35+
PYTHONUNBUFFERED=yes
36+
cover: SETUPPY_CFLAGS=-coverage
37+
passenv =
38+
*
1839
deps =
1940
pytest>=6.0
2041
pytest-cov
21-
# Add any other test dependencies
22-
pip_pre = true
2342
commands =
24-
pytest {posargs:tests}
43+
{posargs:pytest --cov --cov-report=term-missing -vv tests}
44+
45+
[testenv:check]
46+
deps =
47+
docutils
48+
check-manifest
49+
flake8
50+
readme-renderer
51+
pygments
52+
isort
53+
skip_install = true
54+
commands =
55+
python setup.py check --strict --metadata --restructuredtext
56+
check-manifest {toxinidir}
57+
flake8 src tests setup.py
58+
isort --verbose --check-only --diff --filter-files src tests setup.py
59+
60+
[testenv:docs]
61+
deps =
62+
-r{toxinidir}/docs/requirements.txt
63+
commands =
64+
sphinx-build {posargs:-E} -b html docs dist/docs
65+
sphinx-build -b linkcheck docs dist/docs
66+
67+
[testenv:clean]
68+
commands = coverage erase
69+
skip_install = true
70+
deps = coverage
71+
72+
[testenv:report]
73+
deps = coverage
74+
skip_install = true
75+
commands =
76+
coverage report
77+
coverage html
2578

2679
[gh-actions]
2780
python =
28-
pypy-3.8: pypy38
29-
3.8: py38
30-
3.9: py39
31-
3.10: py310
32-
3.11: py311
33-
3.12: py312
81+
3.8: py38-cover,py38-nocov
82+
3.9: py39-cover,py39-nocov
83+
3.10: py310-cover,py310-nocov
84+
3.11: py311-cover,py311-nocov
85+
3.12: py312-cover,py312-nocov
86+
pypy-3.8: pypy38-cover,pypy38-nocov
87+
pypy-3.9: pypy39-cover,pypy39-nocov
88+
pypy-3.10: pypy310-cover,pypy310-nocov

0 commit comments

Comments
 (0)