Group Travis CI jobs in stages (#5104)

- This should speed-up Travis CI tests and refers to #5049

- Travis uses build-stages to group tests together
    - The idea is to let fast tests fail first, then move to longer ones.
    - Added external perl to avoid download failure from CPAN and reduce build time
    - Disabling perl-dbi: continues to fail with (504 Gateway Time-out) on Travis

- We now cover all the build systems in tests:
    - Add back `openblas` to Travis as a separate package.
    - Switched `openblas` for `astyle` to build a simpler MakefilePackage.
    - Added 'tut' (WafPackage)
    - Added 'py-setuptools' (PythonPackage)
    - Added 'perl-dbi' (PerlPackage)
    - Added 'build_systems' directory to the ones for which we get a summary
    - Added 'openjpeg' (CMakePackage)
    - Added 'r-rcpp' (RPackage)
    - Added comments to build tests to show the covered build system
This commit is contained in:
Massimiliano Culpo 2017-08-19 23:52:27 +02:00 committed by Todd Gamblin
parent bb10bc39ab
commit 99fb394ac1
4 changed files with 82 additions and 17 deletions

View file

@ -13,6 +13,10 @@ coverage:
threshold: 0.5
paths:
- lib/spack/spack/cmd
build_systems:
threshold: 0.5
paths:
- lib/spack/spack/build_systems
core:
threshold: 0.5
paths:

View file

@ -11,10 +11,16 @@ branches:
#=============================================================================
# Build matrix
#=============================================================================
matrix:
jobs:
fast_finish: true
include:
- python: '2.6'
- stage: 'flake8'
python: '2.7'
os: linux
language: python
env: TEST_SUITE=flake8
- stage: 'unit tests + documentation'
python: '2.6'
os: linux
language: python
env: TEST_SUITE=unit
@ -22,10 +28,6 @@ matrix:
os: linux
language: python
env: [ TEST_SUITE=unit, COVERAGE=true ]
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=hypre^mpich' ]
- python: '3.3'
os: linux
language: python
@ -42,21 +44,54 @@ matrix:
os: linux
language: python
env: [ TEST_SUITE=unit, COVERAGE=true ]
- python: '3.6'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=hypre^mpich' ]
- python: '2.7'
os: linux
language: python
env: TEST_SUITE=flake8
- os: osx
language: generic
env: [ TEST_SUITE=unit, PYTHON_VERSION=2.7, COVERAGE=true ]
- python: '2.7'
os: linux
language: python
env: TEST_SUITE=doc
- os: osx
language: generic
env: [ TEST_SUITE=unit, PYTHON_VERSION=2.7, COVERAGE=true ]
# mpich (AutotoolsPackage)
- stage: 'build tests'
python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=mpich' ]
# astyle (MakefilePackage)
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=astyle' ]
# tut (WafPackage)
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=tut' ]
# py-setuptools (PythonPackage)
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=py-setuptools' ]
# perl-dbi (PerlPackage)
# - python: '2.7'
# os: linux
# language: python
# env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=perl-dbi' ]
# openjpeg (CMakePackage + external cmake)
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=openjpeg' ]
# r-rcpp (RPackage + external R)
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=r-rcpp' ]
# mpich (AutotoolsPackage)
- python: '3.6'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=mpich' ]
#=============================================================================
# Environment
@ -72,6 +107,14 @@ addons:
- mercurial
- graphviz
- gnupg2
- cmake
- r-base
- r-base-core
- r-base-dev
- perl
- perl-base
cache: pip
# Work around Travis's lack of support for Python on OSX
before_install:
@ -99,6 +142,9 @@ before_script:
# Need this to be able to compute the list of changed files
- git fetch origin develop:develop
# Set up external dependencies for build tests, because the take too long to compile
- if [[ "$TEST_SUITE" == "build" ]]; then cp share/spack/qa/configuration/packages.yaml etc/spack/packages.yaml; fi
#=============================================================================
# Building
#=============================================================================

View file

@ -0,0 +1,13 @@
packages:
cmake:
buildable: False
paths:
cmake@2.8.12.2: /usr
r:
buildable: False
paths:
r@3.0.2: /usr
perl:
buildable: False
paths:
perl@5.18.2: /usr

View file

@ -39,6 +39,8 @@ class RRcpp(RPackage):
homepage = "http://dirk.eddelbuettel.com/code/rcpp.html"
url = "https://cran.r-project.org/src/contrib/Rcpp_0.12.9.tar.gz"
version('0.12.12', '97b36a3b567e3438067c4a7d0075fd90')
version('0.12.11', 'ea1710213cbb1d91b1d0318e6fa9aa37')
version('0.12.9', '691c49b12794507288b728ede03668a5')
version('0.12.6', 'db4280fb0a79cd19be73a662c33b0a8b')
version('0.12.5', 'f03ec05b4e391cc46e7ce330e82ff5e2')