-
Notifications
You must be signed in to change notification settings - Fork 25
/
Copy pathtox.ini
155 lines (140 loc) · 6.51 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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
; For all tests that run in Github Actions, see
; .github/workflows/cpu-ci.yml for the workflow definition.
[tox]
envlist = python3.8,test-gpu,test-cpu
[testenv]
commands =
pip install --upgrade pip
pip install .
[testenv:test-cpu]
; Runs in: Github Actions
; Runs all CPU-based tests.
deps =
-rrequirements/base.txt
-rrequirements/dev.txt
commands =
python -m pip install --upgrade git+https://github.com/NVIDIA-Merlin/core.git@{posargs:main}
python -m pip install --upgrade git+https://github.com/NVIDIA-Merlin/nvtabular.git@{posargs:main}
python -m pip install -e .[all]
python -m pip install fsspec==2022.5.0
python -m pytest --cov-report term --cov=merlin -rxs tests/unit tests/examples
[testenv:test-tensorflow]
; Runs in: Github Actions
; Runs all Tensorflow-based tests.
deps =
-rrequirements/base.txt
-rrequirements/dev.txt
commands =
python -m pip install --upgrade git+https://github.com/NVIDIA-Merlin/core.git@{posargs:main}
python -m pip install --upgrade git+https://github.com/NVIDIA-Merlin/nvtabular.git@{posargs:main}
python -m pip install -e .[tensorflow]
python -m pip install fsspec==2022.5.0
python -m pytest -rxs -m tensorflow tests/unit tests/examples
[testenv:test-torch]
; Runs in: Github Actions
; Runs all Tensorflow-based tests.
deps =
-rrequirements/base.txt
-rrequirements/dev.txt
commands =
python -m pip install --upgrade git+https://github.com/NVIDIA-Merlin/core.git@{posargs:main}
python -m pip install --upgrade git+https://github.com/NVIDIA-Merlin/nvtabular.git@{posargs:main}
python -m pip install -e .[torch]
python -m pip install fsspec==2022.5.0
python -m pytest -rxs -m torch tests/unit tests/examples
[testenv:test-jax]
; Runs in: Github Actions
; Runs all Tensorflow-based tests.
deps =
-rrequirements/base.txt
-rrequirements/dev.txt
commands =
python -m pip install --upgrade git+https://github.com/NVIDIA-Merlin/core.git@{posargs:main}
python -m pip install --upgrade git+https://github.com/NVIDIA-Merlin/nvtabular.git@{posargs:main}
python -m pip install -e .[jax]
python -m pip install fsspec==2022.5.0
python -m pytest -rxs -m jax tests/unit tests/examples
[testenv:test-gpu]
passenv =
NR_USER
CUDA_VISIBLE_DEVICES
sitepackages=true
; Runs in: Internal Jenkins
; Runs GPU-based tests.
; The jenkins jobs run on an image based on merlin-hugectr. This will include all cudf configuration
; and other gpu-specific libraries that we can enxpect will always exist. Thus, we don't need
; to install requirements.txt yet. As we get better at python environment isolation, we will
; need to add some back.
deps =
-rrequirements/dev.txt
pytest
pytest-cov
commands =
python -m pip install --upgrade git+https://github.com/NVIDIA-Merlin/core.git
python -m pip install --upgrade git+https://github.com/NVIDIA-Merlin/nvtabular.git
python -m pytest --cov-report term --cov merlin -rxs tests/unit tests/examples
[testenv:test-models-cpu]
passenv=GIT_COMMIT
allowlist_externals = git
commands =
; the GIT_COMMIT env is the current commit of the dataloader repo
git clone --depth 1 --branch {posargs:main} https://github.com/NVIDIA-Merlin/models.git models-{env:GIT_COMMIT}
python -m pip install --upgrade "./models-{env:GIT_COMMIT}"
python -m pip install --upgrade -r "./models-{env:GIT_COMMIT}/requirements/test.txt"
python -m pip install --upgrade git+https://github.com/NVIDIA-Merlin/core.git@{posargs:main}
python -m pip install --upgrade git+https://github.com/NVIDIA-Merlin/NVTabular.git@{posargs:main}
python -m pip install .
python -m pytest models-{env:GIT_COMMIT}/tests/unit
[testenv:test-nvtabular-cpu]
passenv=GIT_COMMIT
allowlist_externals = git
commands =
; the GIT_COMMIT env is the current commit of the dataloader repo
git clone --depth 1 --branch {posargs:main} https://github.com/NVIDIA-Merlin/NVTabular.git nvtabular-{env:GIT_COMMIT}
python -m pip install --upgrade "./nvtabular-{env:GIT_COMMIT}"
python -m pip install --upgrade -r "./nvtabular-{env:GIT_COMMIT}/requirements/test.txt"
python -m pip install --upgrade git+https://github.com/NVIDIA-Merlin/core.git@{posargs:main}
python -m pip install --upgrade git+https://github.com/NVIDIA-Merlin/models.git@{posargs:main}
python -m pip install .
python -m pytest nvtabular-{env:GIT_COMMIT}/tests/unit
[testenv:test-systems-cpu]
passenv=GIT_COMMIT
allowlist_externals = git
commands =
; the GIT_COMMIT env is the current commit of the dataloader repo
git clone --depth 1 --branch {posargs:main} https://github.com/NVIDIA-Merlin/systems.git systems-{env:GIT_COMMIT}
python -m pip install --upgrade "./systems-{env:GIT_COMMIT}"
python -m pip install --upgrade -r "./systems-{env:GIT_COMMIT}/requirements/test-cpu.txt"
python -m pip install --upgrade git+https://github.com/NVIDIA-Merlin/core.git@{posargs:main}
python -m pip install --upgrade git+https://github.com/NVIDIA-Merlin/NVTabular.git@{posargs:main}
python -m pip install --upgrade git+https://github.com/NVIDIA-Merlin/models.git@{posargs:main}
python -m pip install .
python -m pytest -m "not notebook" systems-{env:GIT_COMMIT}/tests/unit
[testenv:test-transformers4rec-cpu]
passenv=GIT_COMMIT
allowlist_externals = git
commands =
; the GIT_COMMIT env is the current commit of the dataloader repo
git clone --depth 1 --branch {posargs:main} https://github.com/NVIDIA-Merlin/Transformers4Rec.git t4r-{env:GIT_COMMIT}
python -m pip install --upgrade "./t4r-{env:GIT_COMMIT}"
python -m pip install --upgrade -r "./t4r-{env:GIT_COMMIT}/requirements/test.txt"
python -m pip install --upgrade git+https://github.com/NVIDIA-Merlin/core.git@{posargs:main}
python -m pip install --upgrade git+https://github.com/NVIDIA-Merlin/NVTabular.git@{posargs:main}
python -m pip install --upgrade git+https://github.com/NVIDIA-Merlin/models.git@{posargs:main}
python -m pip install .
python -m pytest t4r-{env:GIT_COMMIT}/tests/unit
[testenv:docs]
; Runs in: Github Actions
; Generates documentation with sphinx. There are other steps in the Github Actions workflow
; to publish the documentation on release.
changedir = {toxinidir}
deps = -rrequirements/docs.txt
commands =
python -m sphinx.cmd.build -P -b html docs/source docs/build/html
[testenv:docs-multi]
; Run the multi-version build that is shown on GitHub Pages.
changedir = {toxinidir}
deps = -rrequirements-docs.txt
commands =
sphinx-multiversion --dump-metadata docs/source docs/build/html | jq "keys"
sphinx-multiversion docs/source docs/build/html