Skip to content

Commit a5356bc

Browse files
committed
Merge branch 'fix/github_ci' into 'main'
Fix GitHub CI - install LightFM and increase coverage to 100% See merge request ai-lab-pmo/mltools/recsys/RePlay!227
2 parents 43f8577 + 14d47e8 commit a5356bc

File tree

1 file changed

+39
-9
lines changed

1 file changed

+39
-9
lines changed

.github/workflows/main.yml

Lines changed: 39 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)