forked from biolab/orange3
/
tox.ini
130 lines (123 loc) · 3.54 KB
/
tox.ini
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
[tox]
envlist =
orange-{oldest, latest, released}
pylint-ci
build_doc
add-ons
skip_missing_interpreters = true
isolated_build = true
[testenv]
# https://tox.wiki/en/latest/config.html#download
download = true
passenv = *
# we MUST changedir to avoid installed being shadowed by working dir
# https://github.com/tox-dev/tox/issues/54
# https://github.com/tox-dev/tox/issues/514
changedir =
{envsitepackagesdir}
setenv =
# Raise deprecations as errors in our tests
ORANGE_DEPRECATIONS_ERROR=y
# Need this otherwise unittest installs a warning filter that overrides
# our desire to have OrangeDeprecationWarnings raised
PYTHONWARNINGS=module
# set coverage output and project config
COVERAGE_FILE = {toxinidir}/.coverage
COVERAGE_RCFILE = {toxinidir}/.coveragerc
deps =
pyqt5==5.12.*;platform_system=="Windows" and python_version<'3.10'
pyqt5==5.15.*;platform_system!="Windows" or python_version>='3.10'
pyqtwebengine==5.12.*;platform_system=="Windows" and python_version<'3.10'
pyqtwebengine==5.15.*;platform_system!="Windows" or python_version>='3.10'
coverage
psycopg2-binary
pymssql<3.0
latest: https://github.com/pyqtgraph/pyqtgraph/archive/refs/heads/master.zip#egg=pyqtgraph
latest: https://github.com/biolab/orange-canvas-core/archive/refs/heads/master.zip#egg=orange-canvas-core
latest: https://github.com/biolab/orange-widget-base/archive/refs/heads/master.zip#egg=orange-widget-base
# GUI requirements
oldest: orange-canvas-core==0.1.30
oldest: orange-widget-base==4.22.0
oldest: AnyQt==0.2.0
oldest: matplotlib==3.2.0
oldest: pygments==2.8.0
oldest: pyqtgraph>=0.13.1
oldest: qtconsole==4.7.2
# core requirements
oldest: baycomp==1.0.2
oldest: bottleneck==1.3.4
oldest: catboost==1.0.1
oldest: chardet==3.0.2
oldest: httpx==0.21.0
oldest: joblib==1.0.0
# oldest: keyring
# oldest: keyrings.alt
# oldest: networkx
oldest: numpy==1.20
# oldest: openpyxl
oldest: openTSNE==0.6.1
oldest: pandas==1.4.0
oldest: pip==18.0
oldest: python-louvain==0.13
# oldest: pyyaml
# oldest: requests
oldest: scikit-learn==1.1.0
oldest: scipy==1.9
# oldest: serverfiles
oldest: setuptools==51.0.0
oldest: xgboost==1.7.4
oldest: xlrd==1.2.0
# oldest: xlsxwriter
commands_pre =
# Verify installed packages have compatible dependencies
pip check
# freeze environment
pip freeze
commands =
coverage run -m unittest -v Orange.tests Orange.widgets.tests
coverage combine
coverage report
# codecov-actions wants xml report
coverage xml -o {toxinidir}/coverage.xml
[testenv:pyqt6]
changedir =
{envsitepackagesdir}
setenv =
QT_API=PyQt6
ANYQT_HOOK_DENY=pyqt5
deps =
PyQt6==6.5.*
PyQt6-Qt6==6.5.*
PyQt6-WebEngine==6.5.*
PyQt6-WebEngine-Qt6==6.5.*
commands =
python -m unittest -v Orange.widgets.tests
[testenv:add-ons]
deps =
{[testenv]deps}
Orange3-Educational
Orange3-Geo
Orange3-ImageAnalytics
Orange3-Text
commands =
python -m unittest discover --verbose --start-directory {envsitepackagesdir}/orangecontrib
[testenv:pylint-ci]
changedir = {toxinidir}
skip_install = true
allowlist_externals = bash
deps =
orange-widget-base
anyqt
PyQt5==5.12.*
pylint
commands =
bash .github/workflows/check_pylint_diff.sh
[testenv:build_doc]
changedir = {toxinidir}
usedevelop = true
allowlist_externals = bash
deps =
{[testenv]deps}
-r {toxinidir}/requirements-doc.txt
commands =
bash doc/build_doc.sh