Overhaul Spack's CI Infrastructure

This commit is contained in:
Adam J. Stewart 2016-08-22 10:22:42 -05:00
parent 7e4c6afd91
commit 732c1985ef
4 changed files with 29 additions and 22 deletions

View file

@ -1,27 +1,35 @@
language: python
# Construct build matrix
python:
- "2.6"
- "2.7"
env:
- TEST_TYPE=unit
- TEST_TYPE=flake8
- 2.6
- 2.7
env:
- TEST_SUITE=unit
- TEST_SUITE=flake8
- TEST_SUITE=doc
# Exclude flake8 from python 2.6
matrix:
exclude:
- python: "2.6"
- python: 2.6
# Flake8 no longer supports Python 2.6
env: TEST_TYPE=flake8
# Use new Travis infrastructure (Docker can't sudo yet)
sudo: false
# Install coveralls to obtain code coverage
install:
- "pip install coveralls"
- "pip install flake8"
# Cache dependencies
cache: pip
before_install:
# Install various dependencies
install:
- pip install coveralls
- pip install flake8
- pip install sphinx
- pip install mercurial
before_script:
# Need this for the git tests to succeed.
- git config --global user.email "spack@example.com"
- git config --global user.name "Test User"
@ -29,18 +37,13 @@ before_install:
# Need this to be able to compute the list of changed files
- git fetch origin develop:develop
script:
# Run unit tests with code coverage plus install libdwarf
- 'if [ "$TEST_TYPE" = "unit" ]; then share/spack/qa/run-unit-tests; fi'
# Run flake8 code style checks.
- 'if [ "$TEST_TYPE" = "flake8" ]; then share/spack/qa/run-flake8; fi'
script: share/spack/qa/run-$TEST_SUITE-tests
after_success:
- 'if [ "$TEST_TYPE" = "unit" ] && [ "$TRAVIS_PYTHON_VERSION" = "2.7" ]; then coveralls; fi'
- if [[ $TEST_SUITE == unit && $TRAVIS_PYTHON_VERSION -eq 2.7 ]]; then coveralls; fi
notifications:
email:
recipients:
- tgamblin@llnl.gov
recipients: tgamblin@llnl.gov
on_success: change
on_failure: always

View file

@ -68,7 +68,7 @@ Before you send a PR, your code should pass the following checks:
* Your contribution will need to pass the `spack test` command.
Run this before submitting your PR.
* Also run the `share/spack/qa/run-flake8` script to check for PEP8 compliance.
* Also run the `share/spack/qa/run-flake8-tests` script to check for PEP8 compliance.
To encourage contributions and readability by a broad audience,
Spack uses the [PEP8](https://www.python.org/dev/peps/pep-0008/) coding
standard with [a few exceptions](https://github.com/LLNL/spack/blob/develop/.flake8).

4
share/spack/qa/run-doc-tests Executable file
View file

@ -0,0 +1,4 @@
#!/usr/bin/env bash
# pass
exit 0

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
#
# This script runs source code style checks on Spack.
#