Travis: split the build into three parallel jobs
Split the build between:
* Basic checks
* A build in the default configuration with extensive tests
* Builds in other configurations with less testing
The intent is to have one shorter job with basic tests, and two longer
jobs that take roughly the same amount of time (split as evenly as
possible while keeping an easy-to-understand separation).
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
diff --git a/.travis.yml b/.travis.yml
index 11d679c..39d4263 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,24 +3,35 @@
sudo: false
cache: ccache
-script:
-- tests/scripts/recursion.pl library/*.c
-- tests/scripts/check-generated-files.sh
-- tests/scripts/check-doxy-blocks.pl
-- tests/scripts/check-names.sh
-- tests/scripts/check-files.py
-- tests/scripts/doxygen.sh
-- cmake -D CMAKE_BUILD_TYPE:String="Check" .
-- make
-- make test
-- programs/test/selftest
-- OSSL_NO_DTLS=1 tests/compat.sh
-- tests/ssl-opt.sh -e '\(DTLS\|SCSV\).*openssl'
-- tests/scripts/test-ref-configs.pl
-- tests/scripts/curves.pl
-- tests/scripts/key-exchanges.pl
+jobs:
+ include:
+ - name: basic checks
+ script:
+ - tests/scripts/recursion.pl library/*.c
+ - tests/scripts/check-generated-files.sh
+ - tests/scripts/check-doxy-blocks.pl
+ - tests/scripts/check-names.sh
+ - tests/scripts/check-files.py
+ - tests/scripts/doxygen.sh
+
+ - name: default configuration
+ script:
+ - cmake -D CMAKE_BUILD_TYPE:String="Check" .
+ - make
+ - make test
+ - programs/test/selftest
+ - OSSL_NO_DTLS=1 tests/compat.sh
+ - tests/ssl-opt.sh -e '\(DTLS\|SCSV\).*openssl'
+
+ - name: enumerated configurations
+ script:
+ - tests/scripts/test-ref-configs.pl
+ - tests/scripts/curves.pl
+ - tests/scripts/key-exchanges.pl
+
after_failure:
- tests/scripts/travis-log-failure.sh
+
env:
global:
- SEED=1