Add Travis CI support
The tests are currently executed on "Ubuntu 12.04 LTS Server Edition 64 bit" and on "OS X Mavericks" using gcc and clang. Perforce and Git-LFS are installed and therefore available for the respective tests. Signed-off-by: Lars Schneider <larsxschneider@gmail.com> Signed-off-by: Jeff King <peff@peff.net>
This commit is contained in:
parent
dbba85e46b
commit
522354d70f
91
.travis.yml
Normal file
91
.travis.yml
Normal file
@ -0,0 +1,91 @@
|
||||
language: c
|
||||
|
||||
os:
|
||||
- linux
|
||||
- osx
|
||||
|
||||
compiler:
|
||||
- clang
|
||||
- gcc
|
||||
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- language-pack-is
|
||||
|
||||
env:
|
||||
global:
|
||||
- P4_VERSION="15.2"
|
||||
- GIT_LFS_VERSION="1.1.0"
|
||||
- DEFAULT_TEST_TARGET=prove
|
||||
- GIT_PROVE_OPTS="--timer --jobs 3"
|
||||
- GIT_TEST_OPTS="--verbose --tee"
|
||||
- CFLAGS="-g -O2 -Wall -Werror"
|
||||
- GIT_TEST_CLONE_2GB=YesPlease
|
||||
# t9810 occasionally fails on Travis CI OS X
|
||||
# t9816 occasionally fails with "TAP out of sequence errors" on Travis CI OS X
|
||||
- GIT_SKIP_TESTS="t9810 t9816"
|
||||
|
||||
before_install:
|
||||
- >
|
||||
case "${TRAVIS_OS_NAME:-linux}" in
|
||||
linux)
|
||||
mkdir --parents custom/p4
|
||||
pushd custom/p4
|
||||
wget --quiet http://filehost.perforce.com/perforce/r$P4_VERSION/bin.linux26x86_64/p4d
|
||||
wget --quiet http://filehost.perforce.com/perforce/r$P4_VERSION/bin.linux26x86_64/p4
|
||||
chmod u+x p4d
|
||||
chmod u+x p4
|
||||
export PATH="$(pwd):$PATH"
|
||||
popd
|
||||
mkdir --parents custom/git-lfs
|
||||
pushd custom/git-lfs
|
||||
wget --quiet https://github.com/github/git-lfs/releases/download/v$GIT_LFS_VERSION/git-lfs-linux-amd64-$GIT_LFS_VERSION.tar.gz
|
||||
tar --extract --gunzip --file "git-lfs-linux-amd64-$GIT_LFS_VERSION.tar.gz"
|
||||
cp git-lfs-$GIT_LFS_VERSION/git-lfs .
|
||||
export PATH="$(pwd):$PATH"
|
||||
popd
|
||||
;;
|
||||
osx)
|
||||
brew_force_set_latest_binary_hash () {
|
||||
FORMULA=$1
|
||||
SHA=$(brew fetch --force $FORMULA 2>&1 | grep ^SHA256: | cut -d ' ' -f 2)
|
||||
sed -E -i.bak "s/sha256 \"[0-9a-f]{64}\"/sha256 \"$SHA\"/g" \
|
||||
/usr/local/Library/Taps/homebrew/homebrew-binary/$FORMULA.rb
|
||||
}
|
||||
brew update --quiet
|
||||
brew tap homebrew/binary --quiet
|
||||
brew_force_set_latest_binary_hash perforce
|
||||
brew_force_set_latest_binary_hash perforce-server
|
||||
brew install git-lfs perforce-server perforce gettext
|
||||
brew link --force gettext
|
||||
;;
|
||||
esac;
|
||||
echo "$(tput setaf 6)Perforce Server Version$(tput sgr0)";
|
||||
p4d -V | grep Rev.;
|
||||
echo "$(tput setaf 6)Perforce Client Version$(tput sgr0)";
|
||||
p4 -V | grep Rev.;
|
||||
echo "$(tput setaf 6)Git-LFS Version$(tput sgr0)";
|
||||
git-lfs version;
|
||||
|
||||
before_script: make --jobs=2
|
||||
|
||||
script: make --quiet test
|
||||
|
||||
after_failure:
|
||||
- >
|
||||
: '<-- Click here to see detailed test output! ';
|
||||
for TEST_EXIT in t/test-results/*.exit;
|
||||
do
|
||||
if [ "$(cat "$TEST_EXIT")" != "0" ];
|
||||
then
|
||||
TEST_OUT="${TEST_EXIT%exit}out";
|
||||
echo "------------------------------------------------------------------------";
|
||||
echo "$(tput setaf 1)${TEST_OUT}...$(tput sgr0)";
|
||||
echo "------------------------------------------------------------------------";
|
||||
cat "${TEST_OUT}";
|
||||
fi;
|
||||
done;
|
||||
|
||||
notifications:
|
||||
email: false
|
Loading…
Reference in New Issue
Block a user