-
Notifications
You must be signed in to change notification settings - Fork 1
/
.travis.yml
43 lines (43 loc) · 2.12 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
sudo: enabled
language: python
python:
- "3.6"
install:
- python -m pip install -U -q pip # Upgrade pip
- sudo apt-get -qq install linux-tools-generic linux-tools-common linux-tools-`uname -r` # Linux tools
- sudo apt-get -qq install libgtk2.0-dev # Libgtk for g2
- echo 'Defaults env_keep += "PYTHONPATH"' | sudo EDITOR='tee -a' visudo # Edit sudoers file
before_script:
- python -m pip install -q pytest-cov codecov pylint anybadge # Code coverage, pylint, badges
- python -m pip install -U -q pytest asynctest # Pytest, asynctest
- python -m pip install -q numpy matplotlib ipython pandas # numpy and so on for display
- python -m pip install -q pyqtgraph PyQt5
- export PYTHONPATH=${PWD} # Set PYTHONPATH
script:
- set -o pipefail # ensure single failure causes whole pipe to fail
- cd marple # navigate to source dir
- python -m pytest --cov=. collect display common |& tee pytest.txt # Run tests - build fails if any test fails
- pylint -E collect display common --rcfile=pylintrc.txt --ignore=tools # Check for Pylint errors
after_success:
- python -m pylint collect display common --rcfile=pylintrc.txt --ignore=tools |& tee pylint.txt # Check for Pylint warnings + errors
- python -m pytest --cov=. --cov-report=annotate:coverage_annotate common collect display # Create annotated code coverage
- python -m codecov # Export code coverage to codecov
- PYLINT=$(sed -n 's/^Your code has been rated at \([-0-9.]*\)\/.*/\1/p' pylint.txt) # Get Pylint score
- anybadge -l pylint -v ${PYLINT} -o -f pylint.svg 8=red 9=orange 9.5=yellow 10=green # Generate badge from Pylint result
addons:
apt: # Ensure apt updates
update: true
config:
retries: true
# artifacts: # Upload test artifacts to S3
# s3_region: us-west-1
# debug: true
# paths: # Select artifacts to upload
# - narple/coverage.xml
# - marple/pytest.txt
# - marple/pylint.txt
# - marple/pylint.svg
# - marple/$(find ./coverage_annotate -type f ! -size 0 | tr "\n" ":")
# target_paths: # Select where to upload artifacts
# - /${TRAVIS_REPO_SLUG}/${TRAVIS_BUILD_NUMBER}/${TRAVIS_JOB_NUMBER}
# - /most_recent