mirror of
https://github.com/git/git.git
synced 2024-05-11 17:06:08 +02:00
d1c9195116
Perfoce's cask in brew is meant[1] to be used only by humans, so replace
its use from the CI with a scripted binary download which is less likely
to fail, as it is done in Linux.
Kept the logic together so it will be less likely to break when moved
around as on the fly code changes in this area are settled, at which
point it will also feasable to ammend it to avoid some of the hardcoded
values by using similar variables to the ones Linux does.
In that same line, a POSIX sh syntax is used instead of the similar one
used in Linux in preparation for an unrelated future change that might
change the shell currently configured for it.
This change reintroduces the risk that the installed binaries might not
work because of being quarantined that was fixed with 5ed9fc3fc8
(ci:
prevent `perforce` from being quarantined, 2020-02-27) but fixing that
now was also punted for simplicity and since the affected cloud provider
is scheduled to be retired with an on the fly change, but should be
addressed if that other change is not integrated further.
The discussion on the need to keep 2 radically different versions of
the binaries to be tested with Linux vs macOS or how to upgrade to
newer versions now that brew won't do that automatically for us has
been punted for now as well. On that line the now obsolete comment
about it in lib.sh was originally being updated by this change but
created conflicts as it is moved around by other on the fly changes,
so will be addressed independently as well.
[1] https://github.com/Homebrew/homebrew-cask/pull/122347#discussion_r856026584
Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
98 lines
2.7 KiB
Bash
Executable File
98 lines
2.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# Install dependencies required to build and test Git on Linux and macOS
|
|
#
|
|
|
|
. ${0%/*}/lib.sh
|
|
|
|
P4WHENCE=http://filehost.perforce.com/perforce/r$LINUX_P4_VERSION
|
|
LFSWHENCE=https://github.com/github/git-lfs/releases/download/v$LINUX_GIT_LFS_VERSION
|
|
UBUNTU_COMMON_PKGS="make libssl-dev libcurl4-openssl-dev libexpat-dev
|
|
tcl tk gettext zlib1g-dev perl-modules liberror-perl libauthen-sasl-perl
|
|
libemail-valid-perl libio-socket-ssl-perl libnet-smtp-ssl-perl"
|
|
|
|
case "$runs_on_pool" in
|
|
ubuntu-latest)
|
|
sudo apt-get -q update
|
|
sudo apt-get -q -y install language-pack-is libsvn-perl apache2 \
|
|
$UBUNTU_COMMON_PKGS $CC_PACKAGE
|
|
mkdir --parents "$P4_PATH"
|
|
pushd "$P4_PATH"
|
|
wget --quiet "$P4WHENCE/bin.linux26x86_64/p4d"
|
|
wget --quiet "$P4WHENCE/bin.linux26x86_64/p4"
|
|
chmod u+x p4d
|
|
chmod u+x p4
|
|
popd
|
|
mkdir --parents "$GIT_LFS_PATH"
|
|
pushd "$GIT_LFS_PATH"
|
|
wget --quiet "$LFSWHENCE/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 .
|
|
popd
|
|
;;
|
|
macos-latest)
|
|
export HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_NO_INSTALL_CLEANUP=1
|
|
# Uncomment this if you want to run perf tests:
|
|
# brew install gnu-time
|
|
test -z "$BREW_INSTALL_PACKAGES" ||
|
|
brew install $BREW_INSTALL_PACKAGES
|
|
brew link --force gettext
|
|
mkdir -p $HOME/bin
|
|
(
|
|
cd $HOME/bin
|
|
wget -q "https://cdist2.perforce.com/perforce/r21.2/bin.macosx1015x86_64/helix-core-server.tgz" &&
|
|
tar -xf helix-core-server.tgz
|
|
)
|
|
PATH="$PATH:${HOME}/bin"
|
|
export PATH
|
|
|
|
if test -n "$CC_PACKAGE"
|
|
then
|
|
BREW_PACKAGE=${CC_PACKAGE/-/@}
|
|
brew install "$BREW_PACKAGE"
|
|
brew link "$BREW_PACKAGE"
|
|
fi
|
|
;;
|
|
esac
|
|
|
|
case "$jobname" in
|
|
StaticAnalysis)
|
|
sudo apt-get -q update
|
|
sudo apt-get -q -y install coccinelle libcurl4-openssl-dev libssl-dev \
|
|
libexpat-dev gettext make
|
|
;;
|
|
sparse)
|
|
sudo apt-get -q update -q
|
|
sudo apt-get -q -y install libssl-dev libcurl4-openssl-dev \
|
|
libexpat-dev gettext zlib1g-dev
|
|
;;
|
|
Documentation)
|
|
sudo apt-get -q update
|
|
sudo apt-get -q -y install asciidoc xmlto docbook-xsl-ns make
|
|
|
|
test -n "$ALREADY_HAVE_ASCIIDOCTOR" ||
|
|
sudo gem install --version 1.5.8 asciidoctor
|
|
;;
|
|
linux-gcc-default)
|
|
sudo apt-get -q update
|
|
sudo apt-get -q -y install $UBUNTU_COMMON_PKGS
|
|
;;
|
|
esac
|
|
|
|
if type p4d >/dev/null 2>&1 && type p4 >/dev/null 2>&1
|
|
then
|
|
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.
|
|
else
|
|
echo >&2 "WARNING: perforce wasn't installed, see above for clues why"
|
|
fi
|
|
if type git-lfs >/dev/null 2>&1
|
|
then
|
|
echo "$(tput setaf 6)Git-LFS Version$(tput sgr0)"
|
|
git-lfs version
|
|
else
|
|
echo >&2 "WARNING: git-lfs wasn't installed, see above for clues why"
|
|
fi
|