t2300: "git --exec-path" is not usable in $PATH on Windows as-is
[git/raj.git] / .travis.yml
blobadab5b89bba7b41a07a2a000dddbd4496ba7c7d3
1 language: c
3 sudo: false
5 cache:
6   directories:
7     - $HOME/travis-cache
9 os:
10   - linux
11   - osx
13 compiler:
14   - clang
15   - gcc
17 addons:
18   apt:
19     packages:
20     - language-pack-is
22 env:
23   global:
24     - DEVELOPER=1
25     # The Linux build installs the defined dependency versions below.
26     # The OS X build installs the latest available versions. Keep that
27     # in mind when you encounter a broken OS X build!
28     - LINUX_P4_VERSION="16.1"
29     - LINUX_GIT_LFS_VERSION="1.2.0"
30     - DEFAULT_TEST_TARGET=prove
31     - GIT_PROVE_OPTS="--timer --jobs 3 --state=failed,slow,save"
32     - GIT_TEST_OPTS="--verbose --tee"
33     - GIT_TEST_CLONE_2GB=YesPlease
34     # t9810 occasionally fails on Travis CI OS X
35     # t9816 occasionally fails with "TAP out of sequence errors" on Travis CI OS X
36     - GIT_SKIP_TESTS="t9810 t9816"
38 matrix:
39   include:
40     - env: Documentation
41       os: linux
42       compiler: clang
43       addons:
44         apt:
45           packages:
46           - asciidoc
47           - xmlto
48       before_install:
49       before_script:
50       script: ci/test-documentation.sh
51       after_failure:
53 before_install:
54   - >
55     case "${TRAVIS_OS_NAME:-linux}" in
56     linux)
57       mkdir --parents custom/p4
58       pushd custom/p4
59         wget --quiet http://filehost.perforce.com/perforce/r$LINUX_P4_VERSION/bin.linux26x86_64/p4d
60         wget --quiet http://filehost.perforce.com/perforce/r$LINUX_P4_VERSION/bin.linux26x86_64/p4
61         chmod u+x p4d
62         chmod u+x p4
63         export PATH="$(pwd):$PATH"
64       popd
65       mkdir --parents custom/git-lfs
66       pushd custom/git-lfs
67         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
68         tar --extract --gunzip --file "git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz"
69         cp git-lfs-$LINUX_GIT_LFS_VERSION/git-lfs .
70         export PATH="$(pwd):$PATH"
71       popd
72       ;;
73     osx)
74       brew_force_set_latest_binary_hash () {
75         FORMULA=$1
76         SHA=$(brew fetch --force $FORMULA 2>&1 | grep ^SHA256: | cut -d ' ' -f 2)
77         sed -E -i.bak "s/sha256 \"[0-9a-f]{64}\"/sha256 \"$SHA\"/g" \
78           /usr/local/Library/Taps/homebrew/homebrew-binary/$FORMULA.rb
79       }
80       brew update --quiet
81       brew tap homebrew/binary --quiet
82       brew_force_set_latest_binary_hash perforce
83       brew_force_set_latest_binary_hash perforce-server
84       brew install git-lfs perforce-server perforce gettext
85       brew link --force gettext
86       ;;
87     esac;
88     echo "$(tput setaf 6)Perforce Server Version$(tput sgr0)";
89     p4d -V | grep Rev.;
90     echo "$(tput setaf 6)Perforce Client Version$(tput sgr0)";
91     p4 -V | grep Rev.;
92     echo "$(tput setaf 6)Git-LFS Version$(tput sgr0)";
93     git-lfs version;
94     mkdir -p $HOME/travis-cache;
95     ln -s $HOME/travis-cache/.prove t/.prove;
97 before_script: make --jobs=2
99 script: make --quiet test
101 after_failure:
102   - >
103     : '<-- Click here to see detailed test output!                                                        ';
104     for TEST_EXIT in t/test-results/*.exit;
105     do
106       if [ "$(cat "$TEST_EXIT")" != "0" ];
107       then
108         TEST_OUT="${TEST_EXIT%exit}out";
109         echo "------------------------------------------------------------------------";
110         echo "$(tput setaf 1)${TEST_OUT}...$(tput sgr0)";
111         echo "------------------------------------------------------------------------";
112         cat "${TEST_OUT}";
113       fi;
114     done;
116 notifications:
117   email: false