version: 2
workflows:
  version: 2
  test:
    jobs:
      - test-3.6
      - test-3.7
      - test-3.8

jobs:
  test-3.6: &test-template
    docker:
      - image: circleci/python:3.6-buster

    working_directory: ~/repo

    steps:
      - checkout

      - run:
          name: Install dependencies
          command: |
            poetry install

      - run:
          name: Run unit tests
          command: |
            poetry run pytest -vvv ./tests

  test-3.7:
    <<: *test-template
    docker:
      - image: circleci/python:3.7-buster

  test-3.8:
    <<: *test-template
    docker:
      - image: circleci/python:3.8-buster