summaryrefslogtreecommitdiff
path: root/tox.ini
blob: 1c13b532d6ea7ceab0d987556d82fc2350e7beee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
[tox]
envlist =
    lint,
    py37,py38,py39,py310,py311,pypy3,
    docs,
    coverage
isolated_build = True

[testenv]
commands =
    python --version
    pytest {posargs:}
extras =
    testing
setenv =
    COVERAGE_FILE=.coverage.{envname}

[testenv:coverage]
skip_install = True
commands =
    coverage combine
    coverage xml
    coverage report --fail-under=100
deps =
    coverage
setenv =
    COVERAGE_FILE=.coverage
depends = py38

[testenv:lint]
skip_install = True
commands =
    black --check --diff .
    isort --check-only --df src/webob tests
    check-manifest
    # flake8 src/webob/ tests
    # build sdist/wheel
    python -m build .
    twine check dist/*
deps =
    black
    build
    check-manifest
    flake8
    flake8-bugbear
    isort
    readme_renderer
    twine

[testenv:docs]
allowlist_externals =
    make
commands =
    make -C docs html BUILDDIR={envdir} SPHINXOPTS="-W -E"
extras =
    docs

[testenv:run-flake8]
skip_install = True
commands =
    flake8 src/webob/ tests
deps =
    flake8
    flake8-bugbear

[testenv:run-format]
skip_install = True
commands =
    isort src/webob tests
    black .
deps =
    black
    isort

[testenv:build]
skip_install = true
commands =
    # clean up build/ and dist/ folders
    python -c 'import shutil; shutil.rmtree("build", ignore_errors=True)'
    # Make sure we aren't forgetting anything
    check-manifest
    # build sdist/wheel
    python -m build .
    # Verify all is well
    twine check dist/*

deps =
    build
    check-manifest
    readme_renderer
    twine