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