Assorted updates for TravisCI integration.
* sg/travis-fixes:
travis-ci: use 'set -x' in 'ci/*' scripts for extra tracing output
travis-ci: set GIT_TEST_HTTPD in 'ci/lib-travisci.sh'
travis-ci: move setting environment variables to 'ci/lib-travisci.sh'
travis-ci: introduce a $jobname variable for 'ci/*' scripts
- git-svn
- apache2
-env:
- global:
- - DEVELOPER=1
- # The Linux build installs the defined dependency versions below.
- # The OS X build installs the latest available versions. Keep that
- # in mind when you encounter a broken OS X build!
- - LINUX_P4_VERSION="16.2"
- - LINUX_GIT_LFS_VERSION="1.5.2"
- - DEFAULT_TEST_TARGET=prove
- - GIT_PROVE_OPTS="--timer --jobs 3 --state=failed,slow,save"
- - GIT_TEST_OPTS="--verbose-log"
- - GIT_TEST_CLONE_2GB=YesPlease
- # t9810 occasionally fails on Travis CI OS X
- # t9816 occasionally fails with "TAP out of sequence errors" on Travis CI OS X
- - GIT_SKIP_TESTS="t9810 t9816"
-
matrix:
include:
- - env: GETTEXT_POISON=YesPlease
+ - env: jobname=GETTEXT_POISON
os: linux
compiler:
addons:
before_install:
- - env: Windows
+ - env: jobname=Windows
os: linux
compiler:
addons:
test "$TRAVIS_REPO_SLUG" != "git/git" ||
ci/run-windows-build.sh $TRAVIS_BRANCH $(git rev-parse HEAD)
after_failure:
- - env: Linux32
+ - env: jobname=Linux32
os: linux
compiler:
services:
before_install:
before_script:
script: ci/run-linux32-docker.sh
- - env: Static Analysis
+ - env: jobname=StaticAnalysis
os: linux
compiler:
addons:
before_script:
script: ci/run-static-analysis.sh
after_failure:
- - env: Documentation
+ - env: jobname=Documentation
os: linux
compiler:
addons:
P4WHENCE=http://filehost.perforce.com/perforce/r$LINUX_P4_VERSION
LFSWHENCE=https://github.com/github/git-lfs/releases/download/v$LINUX_GIT_LFS_VERSION
-case "${TRAVIS_OS_NAME:-linux}" in
-linux)
- export GIT_TEST_HTTPD=YesPlease
-
+case "$jobname" in
+linux-clang|linux-gcc)
mkdir --parents "$P4_PATH"
pushd "$P4_PATH"
wget --quiet "$P4WHENCE/bin.linux26x86_64/p4d"
cp git-lfs-$LINUX_GIT_LFS_VERSION/git-lfs .
popd
;;
-osx)
+osx-clang|osx-gcc)
brew update --quiet
# Uncomment this if you want to run perf tests:
# brew install gnu-time
# Set 'exit on error' for all CI scripts to let the caller know that
# something went wrong
-set -e
+set -ex
skip_branch_tip_with_tag
-case "${TRAVIS_OS_NAME:-linux}" in
-linux)
+if test -z "$jobname"
+then
+ jobname="$TRAVIS_OS_NAME-$CC"
+fi
+
+export DEVELOPER=1
+export DEFAULT_TEST_TARGET=prove
+export GIT_PROVE_OPTS="--timer --jobs 3 --state=failed,slow,save"
+export GIT_TEST_OPTS="--verbose-log"
+export GIT_TEST_CLONE_2GB=YesPlease
+
+case "$jobname" in
+linux-clang|linux-gcc)
+ export GIT_TEST_HTTPD=YesPlease
+
+ # The Linux build installs the defined dependency versions below.
+ # The OS X build installs the latest available versions. Keep that
+ # in mind when you encounter a broken OS X build!
+ export LINUX_P4_VERSION="16.2"
+ export LINUX_GIT_LFS_VERSION="1.5.2"
+
P4_PATH="$(pwd)/custom/p4"
GIT_LFS_PATH="$(pwd)/custom/git-lfs"
export PATH="$GIT_LFS_PATH:$P4_PATH:$PATH"
;;
+osx-clang|osx-gcc)
+ # t9810 occasionally fails on Travis CI OS X
+ # t9816 occasionally fails with "TAP out of sequence errors" on
+ # Travis CI OS X
+ export GIT_SKIP_TESTS="t9810 t9816"
+ ;;
+GETTEXT_POISON)
+ export GETTEXT_POISON=YesPlease
+ ;;
esac