language: python branches: except: - requires-io-master env: global: - CI_DEPS=codecov>=2.0.5 - CI_COMMANDS=codecov git: depth: 10000 matrix: fast_finish: true include: - python: 3.5 env: TOXENV=py35 # this just makes sure that our version detection shows an appropriate error message - python: 3.6 env: TOXENV=lint - os: osx osx_image: xcode7.3 language: generic env: TOXENV=py36 CIBUILD=1 PYINSTALLER=1 - python: 3.6 env: TOXENV=py36 CIBUILD=1 PYINSTALLER=1 WHEEL=1 DOCKER=1 sudo: required services: - docker - python: 3.6 env: TOXENV=individual_coverage - python: 3.7 env: TOXENV=py37 dist: xenial - language: node_js node_js: "node" before_install: - curl -o- -L https://yarnpkg.com/install.sh | bash - export PATH=$HOME/.yarn/bin:$PATH install: - cd web && yarn - yarn global add codecov script: npm test && codecov cache: yarn: true directories: - web/node_modules - python: 3.6 env: NAME=docs TOXENV=docs install: - wget https://github.com/gohugoio/hugo/releases/download/v0.41/hugo_0.41_Linux-64bit.deb - sudo dpkg -i hugo*.deb - pip install -U tox virtualenv setuptools script: - tox after_success: - echo done install: - | if [[ $TRAVIS_OS_NAME == "osx" ]] then brew update || brew update brew outdated pyenv || brew upgrade pyenv eval "$(pyenv init -)" env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install --skip-existing 3.6.9 pyenv global 3.6.9 pyenv shell 3.6.9 fi - pip install -U tox virtualenv setuptools script: # All these steps MUST succeed for the job to be successful! # Using the after_success block DOES NOT capture errors. # Pull requests might break our build - we need to check this. # Pull requests are not allowed to upload build artifacts - enforced by cibuild script. - | if [[ $TRAVIS_COMMIT_MESSAGE = *"[notest]"* ]]; then echo "!!!! Skipping tests." else tox -- --verbose --cov-report=term fi - | if [[ $CIBUILD == "1" ]] then git fetch --unshallow --tags tox -e cibuild -- build && tox -e cibuild -- upload fi notifications: slack: -rooms: mitmproxy:YaDGC9Gt9TEM7o8zkC2OLNsu on_success: change on_failure: change on_start: never cache: directories: - $HOME/.pyenv - $HOME/.cache/pip