forked from OpenMined/PySyft
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
48 lines (48 loc) · 1.55 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
group: travis_latest
language: python
cache: pip
python:
#- 2.7
- 3.6
#- nightly
#- pypy
#- pypy3
env:
global:
- OMIT_FROM_COVERAGE=*/virtualenv/*,setup.py,.eggs/*,*__init__.py,*tf_encrypted*,syft/workers/websocket_server.py
matrix:
allow_failures:
- python: nightly
- python: pypy
- python: pypy3
install:
- sudo apt-get update
- hash -r
- pip3 install -r requirements.txt >build.log
- pip3 install -r requirements_dev.txt >build.log
- pip3 install flake8
- pip3 install flake8-docstrings
- pip3 install flake8-comprehensions
- pip3 install pep8-naming
- python setup.py install >> build.log
before_script:
# stop the build if there are Python syntax errors or undefined
# names
- flake8 --config=.flake8 .
- black --check --verbose .
# exit-zero treats all errors as warnings.
# diverting from the standard 79 character line length in
# accordance with this:
# https://www.python.org/dev/peps/pep-0008/#a-foolish-consistency-is-the-hobgoblin-of-little-minds
- flake8 . --count --exit-zero --statistics --select=E,F,W,C90
script:
- coverage run --omit=$OMIT_FROM_COVERAGE -m pytest
- coverage report --fail-under 95 -m
# ensuring coverage of tests stays at 100 until entire coverage can be 100
- coverage report --fail-under 100 -m --include="test/*"
# - bash scripts/execute_notebooks.sh
# - if grep -q "Traceback (most recent call last):" nb_to_md.txt; then false; else true; fi
notifications:
on_success: change
# `always` will be the setting below once code changes slow down
on_failure: change