From 04c668b3f72d8e68b42c98805548c865800128ca Mon Sep 17 00:00:00 2001 From: Jochen Martin Eppler Date: Mon, 27 Jun 2016 17:06:22 +0200 Subject: [PATCH] Reduce the number of build jobs Many configuration options of NEST are actually independent. This means we don't have to run the full matrix, but just a minimal job, a maximal job, and some jobs for dependent options. This commit simplifies the matrix from 8 runs to 4 runs while also adding a new option for builds with and without threading. --- .travis.yml | 15 +++++++-------- build.sh | 9 +++++++-- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/.travis.yml b/.travis.yml index e769f5f754..f56b8139e2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,14 +7,13 @@ dist: trusty env: matrix: - - xGSL=0 xMPI=0 xPYTHON=1 xSTATIC_ANALYSIS=1 CACHE_NAME=JOB - - xGSL=0 xMPI=0 xPYTHON=0 xSTATIC_ANALYSIS=1 CACHE_NAME=JOB - - xGSL=0 xMPI=1 xPYTHON=0 xSTATIC_ANALYSIS=1 CACHE_NAME=JOB - - xGSL=0 xMPI=1 xPYTHON=1 xSTATIC_ANALYSIS=1 CACHE_NAME=JOB - - xGSL=1 xMPI=0 xPYTHON=0 xSTATIC_ANALYSIS=1 CACHE_NAME=JOB - - xGSL=1 xMPI=0 xPYTHON=1 xSTATIC_ANALYSIS=1 CACHE_NAME=JOB - - xGSL=1 xMPI=1 xPYTHON=0 xSTATIC_ANALYSIS=1 CACHE_NAME=JOB - - xGSL=1 xMPI=1 xPYTHON=1 xSTATIC_ANALYSIS=1 CACHE_NAME=JOB + # We don't have to run a full matrix here, because most of the options are + # independent. This means that we can test them together in the full build. + # See also https://docs.travis-ci.com/user/caching/#Caches-and-build-matrices + - xTHREADING=0 xMPI=0 xGSL=0 xPYTHON=0 xSTATIC_ANALYSIS=1 CACHE_NAME=JOB # minimal + - xTHREADING=0 xMPI=1 xGSL=0 xPYTHON=0 xSTATIC_ANALYSIS=1 CACHE_NAME=JOB # only MPI + - xTHREADING=1 xMPI=0 xGSL=0 xPYTHON=0 xSTATIC_ANALYSIS=1 CACHE_NAME=JOB # only threading + - xTHREADING=1 xMPI=1 xGSL=1 xPYTHON=1 xSTATIC_ANALYSIS=1 CACHE_NAME=JOB # full matrix: # do notify immediately about it when a job of a build fails. fast_finish: true diff --git a/build.sh b/build.sh index 81f78bd2c5..961e2c1553 100644 --- a/build.sh +++ b/build.sh @@ -17,14 +17,18 @@ set -e mkdir -p $HOME/.matplotlib cat > $HOME/.matplotlib/matplotlibrc < $HOME/.nestrc <