mirror of
https://github.com/git/git
synced 2024-08-28 12:09:19 +00:00
![Johannes Schindelin](/assets/img/avatar_default.png)
As this developer has no access to MacOSX developer setups anymore, Travis becomes the best bet to run performance tests on that OS. However, on MacOSX /usr/bin/time is that good old BSD executable that no Linux user cares about, as demonstrated by the perf-lib.sh's use of GNU-ish extensions. And by the hard-coded path. Let's just work around this issue by using gtime on MacOSX, the Homebrew-provided GNU implementation onto which pretty much every MacOSX power user falls back anyway. To help other developers use Travis to run performance tests on MacOSX, the .travis.yml file now sports a commented-out line that installs GNU time via Homebrew. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Reviewed-by: Lars Schneider <larsxschneider@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
121 lines
3.5 KiB
YAML
121 lines
3.5 KiB
YAML
language: c
|
|
|
|
sudo: false
|
|
|
|
cache:
|
|
directories:
|
|
- $HOME/travis-cache
|
|
|
|
os:
|
|
- linux
|
|
- osx
|
|
|
|
compiler:
|
|
- clang
|
|
- gcc
|
|
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- language-pack-is
|
|
- git-svn
|
|
|
|
env:
|
|
global:
|
|
- DEVELOPER=1
|
|
# The Linux build installs the defined dependency versions below.
|
|
# The OS X build installs the latest available versions. Keep that
|
|
# in mind when you encounter a broken OS X build!
|
|
- LINUX_P4_VERSION="16.1"
|
|
- LINUX_GIT_LFS_VERSION="1.2.0"
|
|
- DEFAULT_TEST_TARGET=prove
|
|
- GIT_PROVE_OPTS="--timer --jobs 3 --state=failed,slow,save"
|
|
- GIT_TEST_OPTS="--verbose --tee"
|
|
- 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"
|
|
|
|
matrix:
|
|
include:
|
|
- env: Documentation
|
|
os: linux
|
|
compiler: clang
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- asciidoc
|
|
- xmlto
|
|
before_install:
|
|
before_script:
|
|
script: ci/test-documentation.sh
|
|
after_failure:
|
|
|
|
before_install:
|
|
- >
|
|
case "${TRAVIS_OS_NAME:-linux}" in
|
|
linux)
|
|
mkdir --parents custom/p4
|
|
pushd custom/p4
|
|
wget --quiet http://filehost.perforce.com/perforce/r$LINUX_P4_VERSION/bin.linux26x86_64/p4d
|
|
wget --quiet http://filehost.perforce.com/perforce/r$LINUX_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$LINUX_GIT_LFS_VERSION/git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz
|
|
tar --extract --gunzip --file "git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz"
|
|
cp git-lfs-$LINUX_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
|
|
# Uncomment this if you want to run perf tests:
|
|
# brew install gnu-time
|
|
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;
|
|
mkdir -p $HOME/travis-cache;
|
|
ln -s $HOME/travis-cache/.prove t/.prove;
|
|
|
|
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
|