Skip to content

Refactor testing cases (#189) #169

Refactor testing cases (#189)

Refactor testing cases (#189) #169

Workflow file for this run

name: CI
on:
push:
branches:
- main
- dev
- temp_test_branch # if in need, create such a temporary branch to test some functions
pull_request:
branches:
- dev
jobs:
CI-testing:
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash {0}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macOS-latest]
python-version: ["3.7", "3.10"]
torch-version: ["1.13.1"]
steps:
- name: Check out the repo code
uses: actions/checkout@v3
- name: Determine the Python version
uses: haya14busa/action-cond@v1
id: condval
with:
cond: ${{ matrix.python-version == 3.7 && matrix.os == 'macOS-latest' }}
# Note: the latest 3.7 subversion 3.7.17 for MacOS has "ModuleNotFoundError: No module named '_bz2'"
if_true: "3.7.16"
if_false: ${{ matrix.python-version }}
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ steps.condval.outputs.value }}
check-latest: true
cache: pip
cache-dependency-path: |
setup.cfg
- name: Install PyTorch ${{ matrix.torch-version }}+cpu
# we have to install torch in advance because torch_sparse needs it for compilation,
# refer to https://github.com/rusty1s/pytorch_sparse/issues/156#issuecomment-1304869772 for details
run: |
which python
which pip
python -m pip install --upgrade pip
pip install torch==${{ matrix.torch-version }} -f https://download.pytorch.org/whl/cpu
python -c "import torch; print('PyTorch:', torch.__version__)"
- name: Install other dependencies
run: |
pip install pypots
pip install torch-geometric torch-scatter torch-sparse -f "https://data.pyg.org/whl/torch-${{ matrix.torch-version }}+cpu.html"
pip install -e ".[dev]"
- name: Fetch the test environment details
run: |
which python
pip list
- name: Test with pytest
run: |
coverage run --source=pypots -m pytest -rA tests/*/*
- name: Generate the LCOV report
run: |
python -m coverage lcov
- name: Submit the report
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: "coverage.lcov"