forked from GeminiDRSoftware/DRAGONS
-
Notifications
You must be signed in to change notification settings - Fork 0
/
tox.ini
122 lines (118 loc) · 5.28 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
[tox]
envlist =
py{37,38,39,310,311}-{noop,unit,f2,gsaoi,niri,gnirs,gmosls,ghost,integ,reg,slow}
codecov
check
docs-{astrodata}
requires = tox-conda
isolated_build = true
[testenv]
args_are_paths = false
whitelist_externals =
which
passenv =
DRAGONS_TEST
DRAGONS_TEST_OUTPUTS
GITHUB_WORKFLOW
HOME
LANG
LC_ALL
MPLBACKEND
TMPDIR
conda_deps =
asdf>=2.7,!=2.10.0
astropy>=4.3,!=5.3.0
astroquery>=0.4
astroscrappy>=1.1
bokeh>=3.0
bottleneck>=1.2
coverage
cython>=0.29
docutils>=0.15
future>=0.17
gwcs>=0.15
holoviews>=1.14
jinja2>=3.0
jsonschema>=3.0
matplotlib>=3.1
numpy>=1.17
objgraph>=3.5
pandas
psutil>=5.6 # only used by adcc?
pyerfa>=1.7
pytest>=5.2
python-dateutil>=2.5.3
requests>=2.22
scikit-image>=0.21
scipy>=1.3
sextractor>=2.8.6
specutils>=1.1
sqlalchemy>=1.3,<2.0.0a0 # new v2 API breaks calmgr (installed as wheel)
conda_channels =
http://jastro.org/astroconda/public
conda-forge
conda_create_args =
--override-channels
--experimental=lock
conda_install_args =
--override-channels
--experimental=lock
extras =
test
docs: docs
deps =
.jenkins/local_calibration_manager/GeminiObsDB-1.0.29-py3-none-any.whl
.jenkins/local_calibration_manager/GeminiCalMgr-1.1.23-py3-none-any.whl
git+https://github.com/GeminiDRSoftware/[email protected]#egg=pytest_dragons
changedir =
.tmp
commands =
python --version
which python
which pip
which pytest
pip install git+https://github.com/GeminiDRSoftware/AstroFaker#egg=AstroFaker
conda list
noop: python -c "pass" # just install deps & ensure python runs
unit: python -m coverage run --rcfile={toxinidir}/.coveragerc -m pytest -v --dragons-remote-data --durations=20 -m "not integration_test and not gmosls and not f2 and not f2ls and not f2image and not gsaoi and not gsaoiimage and not niri and not nirils and not niriimage and not gnirs and not gnirsls and not gnirsimage and not wavecal and not regression and not slow and not ghost and not ghostbundle and not ghostslit and not ghostspect" {posargs:astrodata geminidr gemini_instruments gempy recipe_system}
integ: python -m coverage run --rcfile={toxinidir}/.coveragerc -m pytest -v --dragons-remote-data --durations=20 -m "integration_test and not slow" {posargs:astrodata geminidr gemini_instruments gempy recipe_system}
gmosls: python -m coverage run --rcfile={toxinidir}/.coveragerc -m pytest -v --dragons-remote-data --durations=20 -m "gmosls and not slow and not wavecal" {posargs:astrodata geminidr gemini_instruments gempy recipe_system}
wavecal: python -m coverage run --rcfile={toxinidir}/.coveragerc -m pytest -v --dragons-remote-data --durations=20 -m "wavecal" {posargs:astrodata geminidr gemini_instruments gempy recipe_system}
f2: python -m coverage run --rcfile={toxinidir}/.coveragerc -m pytest -v --dragons-remote-data --durations=20 -m "(f2 or f2ls or f2image) and not slow and not wavecal" {posargs:astrodata geminidr gemini_instruments gempy recipe_system}
gsaoi: python -m coverage run --rcfile={toxinidir}/.coveragerc -m pytest -v --dragons-remote-data --durations=20 -m "(gsaoi or gsaoiimage) and not slow" {posargs:astrodata geminidr gemini_instruments gempy recipe_system}
niri: python -m coverage run --rcfile={toxinidir}/.coveragerc -m pytest -v --dragons-remote-data --durations=20 -m "(niri or nirils or niriimage) and not slow and not wavecal" {posargs:astrodata geminidr gemini_instruments gempy recipe_system}
gnirs: python -m coverage run --rcfile={toxinidir}/.coveragerc -m pytest -v --dragons-remote-data --durations=20 -m "(gnirs or gnirsls or gnirsimage) and not slow and not wavecal" {posargs:astrodata geminidr gemini_instruments gempy recipe_system}
ghost: python -m coverage run --rcfile={toxinidir}/.coveragerc -m pytest -v --dragons-remote-data --durations=20 -m "(ghost or ghostbundle or ghostslit or ghostspect) and not slow" {posargs:astrodata geminidr gemini_instruments gempy recipe_system}
reg: python -m coverage run --rcfile={toxinidir}/.coveragerc -m pytest -v --dragons-remote-data --durations=20 -m "regression and not slow and not wavecal" {posargs:astrodata geminidr gemini_instruments gempy recipe_system}
slow: python -m coverage run --rcfile={toxinidir}/.coveragerc -m pytest -v --dragons-remote-data --durations=20 -m "slow and not wavecal" {posargs:astrodata geminidr gemini_instruments gempy recipe_system}
docs: sphinx-build {posargs} . _build/html
[testenv:covreport]
skip_install = true
conda_deps =
deps = coverage
commands = coverage {posargs:report}
[testenv:codecov]
skip_install = true
passenv = CI JENKINS_* CODECOV_TOKEN
conda_deps =
deps = codecov
commands =
codecov {posargs}
[testenv:check]
skip_install = true
conda_deps =
deps =
pydocstyle
pylint
whitelist_externals =
bash
mkdir
commands =
mkdir -p reports
bash -c \'pylint --exit-zero --rcfile=gempy/support_files/pylintrc \
astrodata gemini_instruments gempy geminidr recipe_system \
> reports/pylint.log\'
bash -c \'pydocstyle --add-ignore D400,D401,D205,D105,D105 \
--match="(?!test_|conf).*\.py" \
astrodata gemini_instruments gempy geminidr recipe_system \
> reports/pydocstyle.log || exit 0\'