forked from OpenMined/PySyft
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
51 lines (51 loc) · 1.88 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
49
50
51
group: travis_latest
language: python
cache: pip
python:
#- 2.7
- 3.6
#- nightly
#- pypy
#- pypy3
matrix:
allow_failures:
- python: nightly
- python: pypy
- python: pypy3
install:
- sudo apt-get update
- hash -r
- pip3 install -r pip-dep/requirements.txt >build.log
- pip3 install -r pip-dep/requirements_dev.txt >build.log
- pip3 install -r pip-dep/requirements_udacity.txt >build.log
- pip3 install -r pip-dep/requirements_notebooks.txt >build.log
- pip3 install scikit-learn >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
# Run type checker in CI such that type errors can be identified and gradually addressed.
# Once all existing type errors are addressed, the `|| echo` after the mypy call can be removed.
- mypy syft || echo "Type errors found, continuing build..."
script:
- coverage run -m pytest test
- coverage report --omit="syft/grid/*" --ignore-errors --fail-under 95 -m
# ensuring coverage of tests stays at 100 until entire coverage can be 100
- coverage report --ignore-errors --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