travis-ci: setup "prove cache" in "script" step
[git/git.git] / .travis.yml
CommitLineData
522354d7
LS
1language: c
2
ce59dffb
LS
3sudo: false
4
6272ed31
LS
5cache:
6 directories:
7 - $HOME/travis-cache
8
522354d7
LS
9os:
10 - linux
11 - osx
12
13compiler:
14 - clang
15 - gcc
16
17addons:
18 apt:
19 packages:
20 - language-pack-is
e7e9f5e7 21 - git-svn
d9d14268 22 - apache2
522354d7
LS
23
24env:
25 global:
658df95a 26 - DEVELOPER=1
3d319f2c
LS
27 # The Linux build installs the defined dependency versions below.
28 # The OS X build installs the latest available versions. Keep that
29 # in mind when you encounter a broken OS X build!
5f703e8f
LS
30 - LINUX_P4_VERSION="16.2"
31 - LINUX_GIT_LFS_VERSION="1.5.2"
522354d7 32 - DEFAULT_TEST_TARGET=prove
6272ed31 33 - GIT_PROVE_OPTS="--timer --jobs 3 --state=failed,slow,save"
041c72de 34 - GIT_TEST_OPTS="--verbose-log"
522354d7
LS
35 - GIT_TEST_CLONE_2GB=YesPlease
36 # t9810 occasionally fails on Travis CI OS X
37 # t9816 occasionally fails with "TAP out of sequence errors" on Travis CI OS X
38 - GIT_SKIP_TESTS="t9810 t9816"
39
b98712b9
LS
40matrix:
41 include:
029aeeed
LS
42 - env: Windows
43 os: linux
44 compiler:
45 addons:
46 before_install:
47 before_script:
48 script:
49 - >
50 test "$TRAVIS_REPO_SLUG" != "git/git" ||
51 ci/run-windows-build.sh $TRAVIS_BRANCH $(git rev-parse HEAD)
52 after_failure:
88dedd5e
JS
53 - env: Linux32
54 os: linux
55 services:
56 - docker
57 before_install:
58 - docker pull daald/ubuntu32:xenial
59 before_script:
60 script:
61 - >
62 docker run
63 --interactive
dcc3e7f5 64 --env DEVELOPER
88dedd5e
JS
65 --env DEFAULT_TEST_TARGET
66 --env GIT_PROVE_OPTS
67 --env GIT_TEST_OPTS
68 --env GIT_TEST_CLONE_2GB
69 --volume "${PWD}:/usr/src/git"
70 daald/ubuntu32:xenial
71 /usr/src/git/ci/run-linux32-build.sh $(id -u $USER)
72 # Use the following command to debug the docker build locally:
73 # $ docker run -itv "${PWD}:/usr/src/git" --entrypoint /bin/bash daald/ubuntu32:xenial
74 # root@container:/# /usr/src/git/ci/run-linux32-build.sh
d8245bb3
LS
75 - env: Static Analysis
76 os: linux
77 compiler:
78 addons:
79 apt:
80 packages:
81 - coccinelle
82 before_install:
83 script:
84 # "before_script" that builds Git is inherited from base job
85 - make coccicheck
86 after_failure:
b98712b9
LS
87 - env: Documentation
88 os: linux
89 compiler: clang
90 addons:
91 apt:
92 packages:
93 - asciidoc
94 - xmlto
95 before_install:
96 before_script:
97 script: ci/test-documentation.sh
98 after_failure:
99
522354d7
LS
100before_install:
101 - >
102 case "${TRAVIS_OS_NAME:-linux}" in
103 linux)
a296bc01
LS
104 export GIT_TEST_HTTPD=YesPlease
105
522354d7
LS
106 mkdir --parents custom/p4
107 pushd custom/p4
3d319f2c
LS
108 wget --quiet http://filehost.perforce.com/perforce/r$LINUX_P4_VERSION/bin.linux26x86_64/p4d
109 wget --quiet http://filehost.perforce.com/perforce/r$LINUX_P4_VERSION/bin.linux26x86_64/p4
522354d7
LS
110 chmod u+x p4d
111 chmod u+x p4
112 export PATH="$(pwd):$PATH"
113 popd
114 mkdir --parents custom/git-lfs
115 pushd custom/git-lfs
3d319f2c
LS
116 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
117 tar --extract --gunzip --file "git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz"
118 cp git-lfs-$LINUX_GIT_LFS_VERSION/git-lfs .
522354d7
LS
119 export PATH="$(pwd):$PATH"
120 popd
121 ;;
122 osx)
522354d7 123 brew update --quiet
e3efa94b
JS
124 # Uncomment this if you want to run perf tests:
125 # brew install gnu-time
672f51cb 126 brew install git-lfs gettext
522354d7 127 brew link --force gettext
672f51cb 128 brew install caskroom/cask/perforce
522354d7
LS
129 ;;
130 esac;
131 echo "$(tput setaf 6)Perforce Server Version$(tput sgr0)";
132 p4d -V | grep Rev.;
133 echo "$(tput setaf 6)Perforce Client Version$(tput sgr0)";
134 p4 -V | grep Rev.;
135 echo "$(tput setaf 6)Git-LFS Version$(tput sgr0)";
136 git-lfs version;
137
138before_script: make --jobs=2
139
3ae72a3a
LS
140script:
141 - >
142 mkdir -p $HOME/travis-cache;
143 ln -s $HOME/travis-cache/.prove t/.prove;
144 make --quiet test;
522354d7
LS
145
146after_failure:
147 - >
148 : '<-- Click here to see detailed test output! ';
149 for TEST_EXIT in t/test-results/*.exit;
150 do
151 if [ "$(cat "$TEST_EXIT")" != "0" ];
152 then
153 TEST_OUT="${TEST_EXIT%exit}out";
154 echo "------------------------------------------------------------------------";
155 echo "$(tput setaf 1)${TEST_OUT}...$(tput sgr0)";
156 echo "------------------------------------------------------------------------";
157 cat "${TEST_OUT}";
158 fi;
159 done;
160
161notifications:
162 email: false