@@ -131,7 +131,7 @@ jobs:
131131 - name : pytest
132132 run : |
133133 . ./venv/bin/activate
134- pytest -m "not torch and not experimental" tests/ --ignore=tests/experimental
134+ pytest -m "not torch and not experimental" tests/ --ignore=tests/experimental --ignore=tests/models
135135 mv .coverage coverage_spark_${{ matrix.python-version }}
136136 - name : Upload coverage
137137 uses : actions/upload-artifact@v4
@@ -160,21 +160,21 @@ jobs:
160160 - name : pytest
161161 run : |
162162 . ./venv/bin/activate
163- pytest -m "not experimental" --ignore=replay/experimental --ignore=tests/experimental
164- mv .coverage coverage_all_ ${{ matrix.python-version }}
163+ pytest -m "not experimental" --ignore=replay/experimental --ignore=tests/experimental --ignore=tests/models
164+ mv .coverage coverage_spark_and_torch_ ${{ matrix.python-version }}
165165 - name : Upload coverage
166166 uses : actions/upload-artifact@v4
167167 with :
168- name : coverage_all_ ${{ matrix.python-version }}
169- path : coverage_all_ ${{ matrix.python-version }}
168+ name : coverage_spark_and_torch_ ${{ matrix.python-version }}
169+ path : coverage_spark_and_torch_ ${{ matrix.python-version }}
170170
171171 pytest_experimental :
172172 needs : static_tests
173173 runs-on : ubuntu-20.04
174174 strategy :
175175 fail-fast : false
176176 matrix :
177- python-version : ["3.8", "3.9", "3.10"] # TODO: enable 3.11 (lightfm installation problem)
177+ python-version : ["3.8", "3.9", "3.10", " 3.11"]
178178 steps :
179179 - uses : actions/checkout@v4
180180 - uses : actions/setup-python@v5
@@ -184,7 +184,8 @@ jobs:
184184 run : |
185185 python -m venv venv
186186 . ./venv/bin/activate
187- pip install --upgrade pip wheel poetry==1.5.1 lightfm==1.17
187+ pip install --upgrade pip wheel poetry==1.5.1
188+ pip install --upgrade --no-use-pep517 lightfm==1.17
188189 ./poetry_wrapper.sh --experimental install --all-extras
189190 - name : pytest
190191 run : |
@@ -197,8 +198,37 @@ jobs:
197198 name : coverage_experimental_${{ matrix.python-version }}
198199 path : coverage_experimental_${{ matrix.python-version }}
199200
201+ pytest_models :
202+ needs : static_tests
203+ runs-on : ubuntu-20.04
204+ strategy :
205+ fail-fast : false
206+ matrix :
207+ python-version : ["3.8", "3.9", "3.10", "3.11"]
208+ steps :
209+ - uses : actions/checkout@v4
210+ - uses : actions/setup-python@v5
211+ with :
212+ python-version : ${{ matrix.python-version }}
213+ - name : Install full package
214+ run : |
215+ python -m venv venv
216+ . ./venv/bin/activate
217+ pip install --upgrade pip wheel poetry==1.5.1
218+ ./poetry_wrapper.sh install --all-extras
219+ - name : pytest
220+ run : |
221+ . ./venv/bin/activate
222+ pytest -m "not experimental" tests/models --ignore=replay/experimental --ignore=tests/experimental
223+ mv .coverage coverage_models_${{ matrix.python-version }}
224+ - name : Upload coverage
225+ uses : actions/upload-artifact@v4
226+ with :
227+ name : coverage_models_${{ matrix.python-version }}
228+ path : coverage_models_${{ matrix.python-version }}
229+
200230 merge_coverage :
201- needs : [pytest_core, pytest_torch, pytest_spark, pytest_spark_torch]
231+ needs : [pytest_core, pytest_torch, pytest_spark, pytest_spark_torch, pytest_models, pytest_experimental ]
202232 runs-on : ubuntu-20.04
203233 strategy :
204234 fail-fast : false
@@ -223,7 +253,7 @@ jobs:
223253 - name : Combine coverage
224254 run : |
225255 . ./venv/bin/activate
226- coverage combine coverage_core_${{ matrix.python-version }} coverage_torch_${{ matrix.python-version }} coverage_spark_${{ matrix.python-version }} coverage_all_ ${{ matrix.python-version }}
256+ coverage combine coverage_core_${{ matrix.python-version }} coverage_torch_${{ matrix.python-version }} coverage_spark_${{ matrix.python-version }} coverage_spark_and_torch_${{ matrix.python-version }} coverage_models_${{ matrix.python-version }} coverage_experimental_ ${{ matrix.python-version }}
227257 coverage report --fail-under=100
228258 coverage xml
229259
0 commit comments