Skip to content

Merge pull request #1829 from Sherry-XLL/master #1183

Merge pull request #1829 from Sherry-XLL/master

Merge pull request #1829 from Sherry-XLL/master #1183

name: RecBole tests
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the master branch
push:
pull_request:
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.8]
defaults:
run:
shell: bash -l {0}
steps:
- uses: actions/checkout@v2
- name: Setup Miniconda
uses: conda-incubator/setup-miniconda@v2
with:
python-version: ${{ matrix.python-version }}
channels: conda-forge
channel-priority: true
auto-activate-base: true
# install setuptools as a interim solution for bugs in PyTorch 1.10.2 (#69904)
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install protobuf==3.19.0
pip install hyperopt==0.2.5
pip install pytest
pip install dgl==0.9.1
pip install xgboost
pip install community
pip install networkx
pip install python-louvain
pip install lightgbm
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
conda list
conda install -c conda-forge faiss-cpu
pip install torch-scatter -f https://data.pyg.org/whl/torch-`python -c "import torch;print(torch.__version__)"`.html
pip install setuptools==59.5.0
pip install plotly
# Use "python -m pytest" instead of "pytest" to fix imports
- name: Test Overall
run: |
python run_recbole.py --model=BPR --epochs=2
- name: Test metrics
run: |
python -m pytest -v tests/metrics
- name: Test data
run: |
python -m pytest -v tests/data
- name: Test evaluation_setting
run: |
python -m pytest -v tests/evaluation_setting
- name: Test model
run: |
python -m pytest -v tests/model/test_model_auto.py
- name: Test config
run: |
python -m pytest -v tests/config/test_config.py
export PYTHONPATH=.
python tests/config/test_command_line.py --use_gpu=False --valid_metric=Recall@10 --split_ratio=[0.7,0.2,0.1] --metrics='["Recall"]' --topk=[10] --epochs=200 --eval_setting='LO_RS' --learning_rate=0.3
- name: Test hyper_tuning
run: |
python -m pytest -v tests/hyper_tuning/test_hyper_tuning.py
# Use black to test code format
# Reference code:
# https://black.readthedocs.io/en/stable/integrations/github_actions.html
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: |
pip install black[jupyter]
- name: Test code format
uses: psf/black@stable
id: action-black
with:
options: "."
- name: Apply code-format changes
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Format Python code according to PEP8