diff options
Diffstat (limited to '.travis.yml')
-rw-r--r-- | .travis.yml | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000000..37a1e1fb6d --- /dev/null +++ b/.travis.yml @@ -0,0 +1,122 @@ +language: c + +sudo: false + +cache: + directories: + - $HOME/travis-cache + +os: + - linux + - osx + +compiler: + - clang + - gcc + +addons: + apt: + packages: + - language-pack-is + - 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.1" + - LINUX_GIT_LFS_VERSION="1.2.0" + - DEFAULT_TEST_TARGET=prove + - GIT_PROVE_OPTS="--timer --jobs 3 --state=failed,slow,save" + - GIT_TEST_OPTS="--verbose --tee" + - GIT_TEST_HTTPD=true + - 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: Documentation + os: linux + compiler: clang + addons: + apt: + packages: + - asciidoc + - xmlto + before_install: + before_script: + script: ci/test-documentation.sh + after_failure: + +before_install: + - > + case "${TRAVIS_OS_NAME:-linux}" in + linux) + mkdir --parents custom/p4 + pushd custom/p4 + wget --quiet http://filehost.perforce.com/perforce/r$LINUX_P4_VERSION/bin.linux26x86_64/p4d + wget --quiet http://filehost.perforce.com/perforce/r$LINUX_P4_VERSION/bin.linux26x86_64/p4 + chmod u+x p4d + chmod u+x p4 + export PATH="$(pwd):$PATH" + popd + mkdir --parents custom/git-lfs + pushd custom/git-lfs + wget --quiet https://github.com/github/git-lfs/releases/download/v$LINUX_GIT_LFS_VERSION/git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz + tar --extract --gunzip --file "git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz" + cp git-lfs-$LINUX_GIT_LFS_VERSION/git-lfs . + export PATH="$(pwd):$PATH" + popd + ;; + osx) + brew_force_set_latest_binary_hash () { + FORMULA=$1 + SHA=$(brew fetch --force $FORMULA 2>&1 | grep ^SHA256: | cut -d ' ' -f 2) + sed -E -i.bak "s/sha256 \"[0-9a-f]{64}\"/sha256 \"$SHA\"/g" \ + "$(brew --repository homebrew/homebrew-binary)/$FORMULA.rb" + } + brew update --quiet + brew tap homebrew/binary --quiet + brew_force_set_latest_binary_hash perforce + brew_force_set_latest_binary_hash perforce-server + # Uncomment this if you want to run perf tests: + # brew install gnu-time + brew install git-lfs perforce-server perforce gettext + brew link --force gettext + ;; + esac; + echo "$(tput setaf 6)Perforce Server Version$(tput sgr0)"; + p4d -V | grep Rev.; + echo "$(tput setaf 6)Perforce Client Version$(tput sgr0)"; + p4 -V | grep Rev.; + echo "$(tput setaf 6)Git-LFS Version$(tput sgr0)"; + git-lfs version; + mkdir -p $HOME/travis-cache; + ln -s $HOME/travis-cache/.prove t/.prove; + +before_script: make --jobs=2 + +script: make --quiet test + +after_failure: + - > + : '<-- Click here to see detailed test output! '; + for TEST_EXIT in t/test-results/*.exit; + do + if [ "$(cat "$TEST_EXIT")" != "0" ]; + then + TEST_OUT="${TEST_EXIT%exit}out"; + echo "------------------------------------------------------------------------"; + echo "$(tput setaf 1)${TEST_OUT}...$(tput sgr0)"; + echo "------------------------------------------------------------------------"; + cat "${TEST_OUT}"; + fi; + done; + +notifications: + email: false |