diff options
Diffstat (limited to '.travis.yml')
-rw-r--r-- | .travis.yml | 125 |
1 files changed, 42 insertions, 83 deletions
diff --git a/.travis.yml b/.travis.yml index c2b76f9b7e..4d4e26c9df 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,105 +16,64 @@ compiler: addons: apt: + sources: + - ubuntu-toolchain-r-test packages: - language-pack-is - git-svn - -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_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" + - apache2 + - gcc-8 matrix: include: - - env: Documentation + - env: jobname=GETTEXT_POISON + os: linux + compiler: + addons: + before_install: + - env: jobname=Windows + os: linux + compiler: + addons: + before_install: + script: + - > + test "$TRAVIS_REPO_SLUG" != "git/git" || + ci/run-windows-build.sh $TRAVIS_BRANCH $(git rev-parse HEAD) + after_failure: + - env: jobname=Linux32 + os: linux + compiler: + addons: + services: + - docker + before_install: + script: ci/run-linux32-docker.sh + - env: jobname=StaticAnalysis + os: linux + compiler: + addons: + apt: + packages: + - coccinelle + before_install: + script: ci/run-static-analysis.sh + after_failure: + - env: jobname=Documentation os: linux - compiler: clang + compiler: 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" \ - /usr/local/Library/Taps/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; +before_install: ci/install-dependencies.sh +script: ci/run-build-and-tests.sh +after_failure: ci/print-test-failures.sh notifications: email: false |