name: Run tests

on:
  push:
    branches:
      - master
    paths:
      - '.github/workflows/test.yml'
      - '**.py'
  pull_request:
    branches:
      - master
    paths:
      - '.github/workflows/test.yml'
      - '**.py'

jobs:
  test:
    strategy:
      matrix:
        python: ['3.6', '3.7', '3.8', '3.9']
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-python@v2
        with:
          python-version: ${{ matrix.python }}
      - name: Setup Graphviz
        uses: ts-graphviz/setup-graphviz@v1
      - name: Install poetry
        run: pip install poetry
      - name: Run all tests
        run: |
          poetry install
          poetry run python -m unittest -v tests/*.py
