name: Test
on: [push, pull_request]

jobs:
  unittest:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: [3.7, 3.8, 3.9]

    steps:
      - uses: actions/checkout@v2
      - name: Setup python ${{ matrix.python-version }}
        uses: actions/setup-python@v2
        with:
          python-version: ${{ matrix.python-version }}
      - name: Install poetry
        uses: abatilo/actions-poetry@v2.0.0
        with:
          poetry-version: 1.1.6
      - name: Install dependencies
        run: poetry install --no-dev
      - name: Test with unittest
        run: poetry run python -m unittest discover

  coverage:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Setup python ${{ matrix.python-version }}
        uses: actions/setup-python@v2
        with:
          python-version: 3.8
      - name: Install poetry
        uses: abatilo/actions-poetry@v2.0.0
        with:
          poetry-version: 1.1.10
      - name: Install dependencies
        run: poetry install
      - name: Coverage run unittest
        run: poetry run coverage run -m unittest discover
      - name: Report coverage
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: poetry run coveralls --service=github
