name: Test

on:
  push:
    branches:
      - '*'
  pull_request:
    branches:
      - development
      - master
      - release

jobs:
  tests:
    name: "py${{ matrix.python-version }} torch${{  matrix.pytorch-version}}"
    runs-on: ubuntu-latest
    env:
      USING_COVERAGE: '3.7,3.9'

    strategy:
      matrix:
        python-version: [3.7, 3.8, 3.9]
        pytorch-version: [1.9.0, 1.9.1]
    steps:
    - uses: actions/checkout@v1
    - uses: actions/setup-python@v1
      with:
        python-version: ${{ matrix.python-version }}
    - name: Install Dependencies
      run: |
        python -m pip install --upgrade pip
        make install-test
        pip install torch==${{ matrix.pytorch-version }} torchvision
    - name: Run test
      if: contains('refs/heads/master refs/heads/development refs/heads/release', github.ref)
      run: |
        make test
    - name: Run test-light
      if: contains('refs/heads/master refs/heads/development refs/heads/release', github.ref) != 1
      run: |
        make test-light

    - name: Test coveralls - python ${{ matrix.python-version }}
      run: coveralls --service=github
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        flag-name: run-${{ matrix.python-version }}
        parallel: true
