summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMassimiliano Culpo <massimiliano.culpo@googlemail.com>2017-08-19 23:52:27 +0200
committerTodd Gamblin <tgamblin@llnl.gov>2017-08-19 14:52:27 -0700
commit99fb394ac18b7ef1bc4f9ee34242a69b42781ab8 (patch)
tree378dd100563a4ee5a3ab1a37b45137e3c269a4d4
parentbb10bc39abd27d9ffee379b02ceff23a020f2391 (diff)
downloadspack-99fb394ac18b7ef1bc4f9ee34242a69b42781ab8.tar.gz
spack-99fb394ac18b7ef1bc4f9ee34242a69b42781ab8.tar.bz2
spack-99fb394ac18b7ef1bc4f9ee34242a69b42781ab8.tar.xz
spack-99fb394ac18b7ef1bc4f9ee34242a69b42781ab8.zip
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
-rw-r--r--.codecov.yml4
-rw-r--r--.travis.yml72
-rw-r--r--share/spack/qa/configuration/packages.yaml13
-rw-r--r--var/spack/repos/builtin/packages/r-rcpp/package.py2
4 files changed, 78 insertions, 13 deletions
diff --git a/.codecov.yml b/.codecov.yml
index 1782e78ff9..639b07012d 100644
--- a/.codecov.yml
+++ b/.codecov.yml
@@ -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:
diff --git a/.travis.yml b/.travis.yml
index eeeaee85df..ec88f02e39 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -11,21 +11,23 @@ branches:
#=============================================================================
# Build matrix
#=============================================================================
-matrix:
+jobs:
fast_finish: true
include:
- - python: '2.6'
+ - stage: 'flake8'
+ python: '2.7'
os: linux
language: python
- env: TEST_SUITE=unit
- - python: '2.7'
+ env: TEST_SUITE=flake8
+ - stage: 'unit tests + documentation'
+ python: '2.6'
os: linux
language: python
- env: [ TEST_SUITE=unit, COVERAGE=true ]
+ env: TEST_SUITE=unit
- python: '2.7'
os: linux
language: python
- env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=hypre^mpich' ]
+ env: [ TEST_SUITE=unit, COVERAGE=true ]
- 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: osx
+ language: generic
+ env: [ TEST_SUITE=unit, PYTHON_VERSION=2.7, COVERAGE=true ]
+ - python: '2.7'
+ os: linux
+ language: python
+ env: TEST_SUITE=doc
+# mpich (AutotoolsPackage)
+ - stage: 'build tests'
+ python: '2.7'
os: linux
language: python
- env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=hypre^mpich' ]
+ env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=mpich' ]
+# astyle (MakefilePackage)
- python: '2.7'
os: linux
language: python
- env: TEST_SUITE=flake8
+ env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=astyle' ]
+# tut (WafPackage)
- 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 ]
+ 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
#=============================================================================
diff --git a/share/spack/qa/configuration/packages.yaml b/share/spack/qa/configuration/packages.yaml
new file mode 100644
index 0000000000..fad3489d3b
--- /dev/null
+++ b/share/spack/qa/configuration/packages.yaml
@@ -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
diff --git a/var/spack/repos/builtin/packages/r-rcpp/package.py b/var/spack/repos/builtin/packages/r-rcpp/package.py
index f89a378524..b77fffb1a0 100644
--- a/var/spack/repos/builtin/packages/r-rcpp/package.py
+++ b/var/spack/repos/builtin/packages/r-rcpp/package.py
@@ -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')