sudo: true

notifications:
  email: false

language: python

matrix:
  include:
    - name: "Python 3.6 on Linux"
      python: 3.6           # this works for Linux but is ignored on macOS or Windows
      before_install:
        - pip3 install -U pip
        - pip3 install -U uvloop
    - name: "Python 3.7 on Xenial Linux"
      python: 3.7           # this works for Linux but is ignored on macOS or Windows
      dist: xenial          # required for Python >= 3.7
      before_install:
        - pip3 install -U pip
        - pip3 install -U uvloop
    - name: "Python 3.8 on Xenial Linux"
      python: 3.8-dev           # this works for Linux but is ignored on macOS or Windows
      dist: xenial          # required for Python >= 3.7
      before_install:
        - pip3 install -U pip
        - pip3 install -U uvloop
    - name: "Python 3.7 on macOS"
      os: osx
      osx_image: xcode10.2  # Python 3.7 running on macOS 10.14.3
      language: shell       # 'language: python' is an error on Travis CI macOS
      before_install:
        - pip3 install -U pip
        - pip3 install -U uvloop
    - name: "Python 3.8 on Windows"
      os: windows           # Windows 10.0.17134 N/A Build 17134
      language: shell
      before_install:
        - choco install python
        - python -m pip install --upgrade pip
        - chcp.com 65001
      env: 
        - PATH=/c/Python38:/c/Python38/Scripts:$PATH
        - PYTHONIOENCODING=UTF-8

install:
  - pip3 install codecov
  - pip3 install -r requirements.txt

script:
 - coverage run test.py

after_success:
 - codecov
