language: python python: - "2.6" - "2.7" # Use new Travis infrastructure (Docker can't sudo yet) sudo: false # Install coveralls to obtain code coverage install: - "pip install coveralls" - "pip install flake8" before_install: # Need this for the git tests to succeed. - git config --global user.email "spack@example.com" - git config --global user.name "Test User" # Need this to be able to compute the list of changed files - git fetch origin develop:develop script: # Regular spack setup and tests - . share/spack/setup-env.sh - spack compilers - spack config get compilers - spack install -v libdwarf # Run unit tests with code coverage - coverage run bin/spack test # Check if changed files are flake8 conformant [framework] - changed=$(git diff --name-only develop... | grep '.py$' | grep -v ^var/) - [[ $changed ]] && \ flake8 --format pylint --config share/spack/qa/flake8-framework $changed # Check if changed files are flake8 conformant [packages] - changed=$(git diff --name-only develop... | grep '.py$' | grep ^var/) # Exempt url lines in changed packages from overlong errors. - for file in $changed; do \ [[ file = *package.py ]] && \ perl -i~ -pe 's/^(\s*url\s*=.*)$/\1 # NOQA/' $file; \ done - [[ $changed ]] && \ flake8 --format pylint --config share/spack/qa/flake8-packages $changed after_success: - coveralls notifications: email: recipients: - tgamblin@llnl.gov on_success: change on_failure: always