summaryrefslogtreecommitdiff
path: root/ci/install-dependencies.sh
diff options
context:
space:
mode:
authorLars Schneider <larsxschneider@gmail.com>2017-09-10 14:44:28 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-09-11 00:54:08 (GMT)
commit657343a602ec5eddae6074656bfd0e8a91aaa8e8 (patch)
treebe2c14f9235302d0971f02a6560c2981d87f5576 /ci/install-dependencies.sh
parentedc74bc7f0c6884027e851ef09b2e0c9380dcd45 (diff)
downloadgit-657343a602ec5eddae6074656bfd0e8a91aaa8e8.zip
git-657343a602ec5eddae6074656bfd0e8a91aaa8e8.tar.gz
git-657343a602ec5eddae6074656bfd0e8a91aaa8e8.tar.bz2
travis-ci: move Travis CI code into dedicated scripts
Most of the Travis CI commands are in the '.travis.yml'. The yml format does not support functions and therefore code duplication is necessary to run commands across all builds. To fix this, add a library for common CI functions. Move all Travis CI code into dedicated scripts and make them call the library first. Signed-off-by: Lars Schneider <larsxschneider@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'ci/install-dependencies.sh')
-rwxr-xr-xci/install-dependencies.sh43
1 files changed, 43 insertions, 0 deletions
diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh
new file mode 100755
index 0000000..067e6eb
--- /dev/null
+++ b/ci/install-dependencies.sh
@@ -0,0 +1,43 @@
+#!/usr/bin/env bash
+#
+# Install dependencies required to build and test Git on Linux and macOS
+#
+
+. ${0%/*}/lib-travisci.sh
+
+case "${TRAVIS_OS_NAME:-linux}" in
+ linux)
+ export GIT_TEST_HTTPD=YesPlease
+
+ 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 update --quiet
+ # Uncomment this if you want to run perf tests:
+ # brew install gnu-time
+ brew install git-lfs gettext
+ brew link --force gettext
+ brew install caskroom/cask/perforce
+ ;;
+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