From fb029add367bde0b8cb7b719034a39429e59c64c Mon Sep 17 00:00:00 2001 From: Peter Powell Date: Tue, 13 Sep 2016 02:56:14 +0100 Subject: [PATCH] Speed up Travis builds. - Switch Linux builds to Ubuntu 14.04 from 12.04. - Split dynamic and static builds into different jobs. - Remove OS X builds as the infrastructure is slow and unreliable. --- .travis.yml | 15 ++++++++------- tools/test-build | 20 ++++++++++++-------- tools/travis-ci.sh | 8 +------- 3 files changed, 21 insertions(+), 22 deletions(-) diff --git a/.travis.yml b/.travis.yml index 631802526..f5c1fff54 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,12 +1,13 @@ compiler: - - "clang" - - "gcc" -language: "cpp" + - clang + - gcc +dist: trusty +env: + - TEST_BUILD_DYNAMIC=1 + - TEST_BUILD_STATIC=1 +language: cpp notifications: email: false -os: - - "linux" - - "osx" script: - - "sh ./tools/travis-ci.sh" + - sh ./tools/travis-ci.sh sudo: required diff --git a/tools/test-build b/tools/test-build index 629e537c4..17c98042b 100755 --- a/tools/test-build +++ b/tools/test-build @@ -56,15 +56,19 @@ foreach my $compiler (@compilers) { say "Failed to configure using the $compiler compiler and the $socketengine socket engine!"; exit 1; } - $ENV{INSPIRCD_STATIC} = 1; - if (system 'make', '-j'.get_cpu_count, 'install') { - say "Failed to compile with static modules using the $compiler compiler and the $socketengine socket engine!"; - exit 1; + if (!defined $ENV{TEST_BUILD_DYNAMIC}) { + $ENV{INSPIRCD_STATIC} = 1; + if (system 'make', '-j'.get_cpu_count, 'install') { + say "Failed to compile with static modules using the $compiler compiler and the $socketengine socket engine!"; + exit 1; + } } - delete $ENV{INSPIRCD_STATIC}; - if (system 'make', '-j'.get_cpu_count, 'install') { - say "Failed to compile with dynamic modules using the $compiler compiler and the $socketengine socket engine!"; - exit 1; + if (!defined $ENV{TEST_BUILD_STATIC}) { + delete $ENV{INSPIRCD_STATIC}; + if (system 'make', '-j'.get_cpu_count, 'install') { + say "Failed to compile with dynamic modules using the $compiler compiler and the $socketengine socket engine!"; + exit 1; + } } say "Building using the $compiler compiler and the $socketengine socket engine succeeded!"; } diff --git a/tools/travis-ci.sh b/tools/travis-ci.sh index 521d91e38..bb32e19a1 100755 --- a/tools/travis-ci.sh +++ b/tools/travis-ci.sh @@ -1,18 +1,12 @@ #!/bin/bash -set -v +set -ev if [ "$TRAVIS_OS_NAME" = "linux" ] then sudo apt-get update --assume-yes sudo apt-get install --assume-yes libgeoip-dev libgnutls-dev libldap2-dev libmysqlclient-dev libpcre3-dev libpq-dev libsqlite3-dev libssl-dev libtre-dev -elif [ "$TRAVIS_OS_NAME" = "osx" ] -then - brew update - brew install geoip gnutls mysql-connector-c openssl pcre postgresql sqlite3 tre - brew link sqlite3 --force else >&2 echo "'$TRAVIS_OS_NAME' is an unknown Travis CI environment!" exit 1 fi -set -e export TEST_BUILD_MODULES="m_geoip.cpp,m_ldap.cpp,m_mysql.cpp,m_pgsql.cpp,m_regex_pcre.cpp,m_regex_posix.cpp,m_regex_tre.cpp,m_sqlite3.cpp,m_ssl_gnutls.cpp,m_ssl_openssl.cpp" ./tools/test-build $CXX -- 2.39.5