]> git.ipfire.org Git - thirdparty/git.git/blob - .travis.yml
Merge branch 'jk/config-lockfile-leak-fix' into maint
[thirdparty/git.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 - git-svn
22 - apache2
23
24 env:
25 global:
26 - DEVELOPER=1
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!
30 - LINUX_P4_VERSION="16.2"
31 - LINUX_GIT_LFS_VERSION="1.5.2"
32 - DEFAULT_TEST_TARGET=prove
33 - GIT_PROVE_OPTS="--timer --jobs 3 --state=failed,slow,save"
34 - GIT_TEST_OPTS="--verbose-log"
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
40 matrix:
41 include:
42 - env: GETTEXT_POISON=YesPlease
43 os: linux
44 compiler:
45 addons:
46 before_install:
47 - env: Windows
48 os: linux
49 compiler:
50 addons:
51 before_install:
52 before_script:
53 script:
54 - >
55 test "$TRAVIS_REPO_SLUG" != "git/git" ||
56 ci/run-windows-build.sh $TRAVIS_BRANCH $(git rev-parse HEAD)
57 after_failure:
58 - env: Linux32
59 os: linux
60 compiler:
61 services:
62 - docker
63 before_install:
64 - docker pull daald/ubuntu32:xenial
65 before_script:
66 script:
67 - >
68 docker run
69 --interactive
70 --env DEVELOPER
71 --env DEFAULT_TEST_TARGET
72 --env GIT_PROVE_OPTS
73 --env GIT_TEST_OPTS
74 --env GIT_TEST_CLONE_2GB
75 --volume "${PWD}:/usr/src/git"
76 daald/ubuntu32:xenial
77 /usr/src/git/ci/run-linux32-build.sh $(id -u $USER)
78 # Use the following command to debug the docker build locally:
79 # $ docker run -itv "${PWD}:/usr/src/git" --entrypoint /bin/bash daald/ubuntu32:xenial
80 # root@container:/# /usr/src/git/ci/run-linux32-build.sh
81 - env: Static Analysis
82 os: linux
83 compiler:
84 addons:
85 apt:
86 packages:
87 - coccinelle
88 before_install:
89 script:
90 # "before_script" that builds Git is inherited from base job
91 - make coccicheck
92 after_failure:
93 - env: Documentation
94 os: linux
95 compiler:
96 addons:
97 apt:
98 packages:
99 - asciidoc
100 - xmlto
101 before_install:
102 before_script: gem install asciidoctor
103 script: ci/test-documentation.sh
104 after_failure:
105
106 before_install:
107 - >
108 case "${TRAVIS_OS_NAME:-linux}" in
109 linux)
110 export GIT_TEST_HTTPD=YesPlease
111
112 mkdir --parents custom/p4
113 pushd custom/p4
114 wget --quiet http://filehost.perforce.com/perforce/r$LINUX_P4_VERSION/bin.linux26x86_64/p4d
115 wget --quiet http://filehost.perforce.com/perforce/r$LINUX_P4_VERSION/bin.linux26x86_64/p4
116 chmod u+x p4d
117 chmod u+x p4
118 export PATH="$(pwd):$PATH"
119 popd
120 mkdir --parents custom/git-lfs
121 pushd custom/git-lfs
122 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
123 tar --extract --gunzip --file "git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz"
124 cp git-lfs-$LINUX_GIT_LFS_VERSION/git-lfs .
125 export PATH="$(pwd):$PATH"
126 popd
127 ;;
128 osx)
129 brew update --quiet
130 # Uncomment this if you want to run perf tests:
131 # brew install gnu-time
132 brew install git-lfs gettext
133 brew link --force gettext
134 brew install caskroom/cask/perforce
135 ;;
136 esac;
137 echo "$(tput setaf 6)Perforce Server Version$(tput sgr0)";
138 p4d -V | grep Rev.;
139 echo "$(tput setaf 6)Perforce Client Version$(tput sgr0)";
140 p4 -V | grep Rev.;
141 echo "$(tput setaf 6)Git-LFS Version$(tput sgr0)";
142 git-lfs version;
143
144 before_script: make --jobs=2
145
146 script:
147 - >
148 mkdir -p $HOME/travis-cache;
149 ln -s $HOME/travis-cache/.prove t/.prove;
150 make --quiet test;
151
152 after_failure:
153 - >
154 : '<-- Click here to see detailed test output! ';
155 for TEST_EXIT in t/test-results/*.exit;
156 do
157 if [ "$(cat "$TEST_EXIT")" != "0" ];
158 then
159 TEST_OUT="${TEST_EXIT%exit}out";
160 echo "------------------------------------------------------------------------";
161 echo "$(tput setaf 1)${TEST_OUT}...$(tput sgr0)";
162 echo "------------------------------------------------------------------------";
163 cat "${TEST_OUT}";
164 fi;
165 done;
166
167 notifications:
168 email: false