From 99fb394ac18b7ef1bc4f9ee34242a69b42781ab8 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Sat, 19 Aug 2017 23:52:27 +0200 Subject: 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 --- .codecov.yml | 4 ++ .travis.yml | 72 ++++++++++++++++++---- share/spack/qa/configuration/packages.yaml | 13 ++++ var/spack/repos/builtin/packages/r-rcpp/package.py | 2 + 4 files changed, 78 insertions(+), 13 deletions(-) create mode 100644 share/spack/qa/configuration/packages.yaml 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') -- cgit v1.2.3-60-g2f50