mitmproxy/.travis.yml
2018-01-04 14:12:30 +01:00

92 lines
2.1 KiB
YAML

sudo: false
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.6
env: TOXENV=lint
- os: osx
osx_image: xcode7.3
language: generic
env: TOXENV=py35 BDIST=1
- python: 3.5
env: TOXENV=py35 BDIST=1
dist: precise
- python: 3.6
env: TOXENV=py36
- python: 3.6
env: TOXENV=individual_coverage
- python: 3.6
env: TOXENV=docs
- 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
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.5.3
pyenv global 3.5.3
pyenv shell 3.5.3
pip install -U pip setuptools wheel virtualenv
fi
- pip install tox
script:
- tox -- --verbose --cov-report=term
- |
if [[ $BDIST == "1" ]]
then
git fetch --unshallow --tags
tox -e rtool -- bdist
fi
after_success:
# we build binaries on every run, but we only upload them for master snapshots or tags.
- |
if [[ $BDIST == "1" && $TRAVIS_PULL_REQUEST == "false" && ($TRAVIS_BRANCH == "pyinstaller" || $TRAVIS_BRANCH == "master" || -n $TRAVIS_TAG) ]]
then
tox -e rtool -- decrypt release/known_hosts.enc release/known_hosts
tox -e rtool -- upload-snapshot --bdist
fi
notifications:
slack:
-rooms:
mitmproxy:YaDGC9Gt9TEM7o8zkC2OLNsu
on_success: change
on_failure: change
on_start: never
cache:
directories:
- $HOME/.pyenv
- $HOME/.cache/pip