-
Notifications
You must be signed in to change notification settings - Fork 16
/
tox.ini
122 lines (118 loc) · 5.33 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,gmos,gmosls,ghost,reg,slow,wavecal}
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,<2.0
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://astroconda.gemini.edu/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 gmos and not gmosls and not gmosimage and not f2 and not f2ls and not f2image and not gsaoi and not niri and not nirils and not niriimage and not gnirs and not gnirsls and not gnirsimage and not gnirsxd 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}
gmos: python -m coverage run --rcfile={toxinidir}/.coveragerc -m pytest -v --dragons-remote-data --durations=20 -m "(gmos or gmosimage) and not slow and not wavecal" {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 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 or gnirsxd) 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\'