version: 2.1
jobs:
  run-tests-36:
    docker:
      - image: cimg/python:3.6
    steps:
      - checkout
      - run:
          name: "Install test deps"
          command: "pip install .[test]"
      - run:
          name: "Run tests"
          command: "python setup.py pytest --addopts '--junitxml=tests/result.xml'"
      - store_test_results:
          path: tests
  run-tests-37:
    docker:
      - image: cimg/python:3.7
    steps:
      - checkout
      - run:
          name: "Install test deps"
          command: "pip install .[test]"
      - run:
          name: "Run tests"
          command: "python setup.py pytest --addopts '--junitxml=tests/result.xml'"
      - store_test_results:
          path: tests
  run-tests-38-cov:
    docker:
      - image: cimg/python:3.8
    steps:
      - checkout
      - run:
          name: "Install test deps"
          command: "pip install .[test]"
      - run:
          name: "Install codecov"
          command: "pip install codecov"   
      - run:
          name: "Run tests"
          command: "python setup.py pytest --addopts '--junitxml=tests/result.xml'"
      - store_test_results:
          path: tests
      - run:
          name: "Notify codecov"
          command: "codecov"
  run-tests-39:
    docker:
      - image: cimg/python:3.9
    steps:
      - checkout
      - run:
          name: "Install test deps"
          command: "pip install .[test]" 
      - run:
          name: "Run tests"
          command: "python setup.py pytest --addopts '--junitxml=tests/result.xml'"
      - store_test_results:
          path: tests
  run-tests-310:
    docker:
      - image: cimg/python:3.10
    steps:
      - checkout
      - run:
          name: "Install test deps"
          command: "pip install .[test]" 
      - run:
          name: "Run tests"
          command: "python setup.py pytest --addopts '--junitxml=tests/result.xml'"
      - store_test_results:
          path: tests          
workflows:
  run-tests-workflow:
    jobs:
      #- run-tests-36 # 3.6 commented out - SHOULD still work, if you can build cryptography, or don't use it
      - run-tests-37
      - run-tests-38-cov
      - run-tests-39
      - run-tests-310
      