os: linux
dist: focal
language: python
python: 3.8
cache: pip
before_install: pip install --upgrade pip setuptools six
install: pip install black flake8
notifications:
    webhooks: https://www.travisbuddy.com/
    on_success: never
before_script:
  - black --check . || true
  - flake8 --ignore=E203,W503 --max-complexity=25 --max-line-length=88 --statistics --count .
  - scripts/validate_filenames.py  # no uppercase, no spaces, in a directory
  - pip install -r requirements.txt  # fast fail on black, flake8, validate_filenames
script:
  - mypy --ignore-missing-imports .
  - pytest --doctest-modules --cov-report=term-missing:skip-covered --cov=. .
after_success:
  - scripts/build_directory_md.py 2>&1 | tee DIRECTORY.md