mitmproxy/.travis.yml
2019-01-18 19:52:24 +01:00

105 lines
2.6 KiB
YAML

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 tox virtualenv setuptools
- pyenv global system 3.6
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.5
pyenv global 3.6.5
pyenv shell 3.6.5
fi
- pip install 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