language: python

# enable caching of installed packages.
cache: pip

# let's test as many versions as we can!
python:
    - "3.4"
    - "3.5"
    - "3.6"
    - "3.7"
    - "3.8"
    - "nightly"

# enable OSX support, with only system Python, and newer Python on Linux:
#matrix:
#  include:
#    - os: osx
#      # specify a reasonably newer xcode so that brew works
#      osx_image: xcode11
#      language: generic
#      python:

# install coverage helper:
install:
  - gem install coveralls-lcov
  - pip install pytest
  - pip install codecov

# the test command:
script:
  - python ./setup.py build_ext -i
  - python -m pytest test
  - make clean
  - CFLAGS="-coverage" python ./setup.py build_ext -i
  - python -m pytest test

# install lcov, platform-specific but clean:
addons:
  apt:
    packages:
      - lcov
  homebrew:
    packages:
      - lcov

after_success:
  - lcov --capture --no-external --directory . --output-file coverage.info
  - COVERALLS_PARALLEL=true coveralls-lcov coverage.info
  - codecov

notifications:
  webhooks: https://coveralls.io/webhook