Merge branch 'sb/clone-shallow-passthru'
[git] / .travis.yml
1 language: c
2
3 sudo: false
4
5 cache:
6   directories:
7     - $HOME/travis-cache
8
9 os:
10   - linux
11   - osx
12
13 compiler:
14   - clang
15   - gcc
16
17 addons:
18   apt:
19     packages:
20     - language-pack-is
21
22 env:
23   global:
24     - DEVELOPER=1
25     - P4_VERSION="15.2"
26     - GIT_LFS_VERSION="1.1.0"
27     - DEFAULT_TEST_TARGET=prove
28     - GIT_PROVE_OPTS="--timer --jobs 3 --state=failed,slow,save"
29     - GIT_TEST_OPTS="--verbose --tee"
30     - GIT_TEST_CLONE_2GB=YesPlease
31     # t9810 occasionally fails on Travis CI OS X
32     # t9816 occasionally fails with "TAP out of sequence errors" on Travis CI OS X
33     - GIT_SKIP_TESTS="t9810 t9816"
34
35 before_install:
36   - >
37     case "${TRAVIS_OS_NAME:-linux}" in
38     linux)
39       mkdir --parents custom/p4
40       pushd custom/p4
41         wget --quiet http://filehost.perforce.com/perforce/r$P4_VERSION/bin.linux26x86_64/p4d
42         wget --quiet http://filehost.perforce.com/perforce/r$P4_VERSION/bin.linux26x86_64/p4
43         chmod u+x p4d
44         chmod u+x p4
45         export PATH="$(pwd):$PATH"
46       popd
47       mkdir --parents custom/git-lfs
48       pushd custom/git-lfs
49         wget --quiet https://github.com/github/git-lfs/releases/download/v$GIT_LFS_VERSION/git-lfs-linux-amd64-$GIT_LFS_VERSION.tar.gz
50         tar --extract --gunzip --file "git-lfs-linux-amd64-$GIT_LFS_VERSION.tar.gz"
51         cp git-lfs-$GIT_LFS_VERSION/git-lfs .
52         export PATH="$(pwd):$PATH"
53       popd
54       ;;
55     osx)
56       brew_force_set_latest_binary_hash () {
57         FORMULA=$1
58         SHA=$(brew fetch --force $FORMULA 2>&1 | grep ^SHA256: | cut -d ' ' -f 2)
59         sed -E -i.bak "s/sha256 \"[0-9a-f]{64}\"/sha256 \"$SHA\"/g" \
60           /usr/local/Library/Taps/homebrew/homebrew-binary/$FORMULA.rb
61       }
62       brew update --quiet
63       brew tap homebrew/binary --quiet
64       brew_force_set_latest_binary_hash perforce
65       brew_force_set_latest_binary_hash perforce-server
66       brew install git-lfs perforce-server perforce gettext
67       brew link --force gettext
68       ;;
69     esac;
70     echo "$(tput setaf 6)Perforce Server Version$(tput sgr0)";
71     p4d -V | grep Rev.;
72     echo "$(tput setaf 6)Perforce Client Version$(tput sgr0)";
73     p4 -V | grep Rev.;
74     echo "$(tput setaf 6)Git-LFS Version$(tput sgr0)";
75     git-lfs version;
76     mkdir -p $HOME/travis-cache;
77     ln -s $HOME/travis-cache/.prove t/.prove;
78
79 before_script: make --jobs=2
80
81 script: make --quiet test
82
83 after_failure:
84   - >
85     : '<-- Click here to see detailed test output!                                                        ';
86     for TEST_EXIT in t/test-results/*.exit;
87     do
88       if [ "$(cat "$TEST_EXIT")" != "0" ];
89       then
90         TEST_OUT="${TEST_EXIT%exit}out";
91         echo "------------------------------------------------------------------------";
92         echo "$(tput setaf 1)${TEST_OUT}...$(tput sgr0)";
93         echo "------------------------------------------------------------------------";
94         cat "${TEST_OUT}";
95       fi;
96     done;
97
98 notifications:
99   email: false