Travis: Use caching instead of pre-compiled deps for OSX.

This commit is contained in:
Florian Walch 2016-07-17 11:40:28 +02:00
parent bd8ef4ea24
commit 66a4c95866
4 changed files with 11 additions and 9 deletions

View File

@ -29,10 +29,10 @@ if [[ "${TRAVIS_OS_NAME}" == osx ]]; then
# That allows to test changing the group of the file by `os_fchown`. # That allows to test changing the group of the file by `os_fchown`.
sudo dscl . -create /Groups/chown_test sudo dscl . -create /Groups/chown_test
sudo dscl . -append /Groups/chown_test GroupMembership "${USER}" sudo dscl . -append /Groups/chown_test GroupMembership "${USER}"
else fi
# Compile dependencies. # Compile dependencies.
build_deps build_deps
fi
rm -rf "${LOG_DIR}" rm -rf "${LOG_DIR}"
mkdir -p "${LOG_DIR}" mkdir -p "${LOG_DIR}"

View File

@ -14,10 +14,15 @@ build_deps() {
# If there is a valid cache and we're not forced to recompile, # If there is a valid cache and we're not forced to recompile,
# use cached third-party dependencies. # use cached third-party dependencies.
if [[ -f "${CACHE_MARKER}" ]] && [[ "${BUILD_NVIM_DEPS}" != true ]]; then if [[ -f "${CACHE_MARKER}" ]] && [[ "${BUILD_NVIM_DEPS}" != true ]]; then
echo "Using third-party dependencies from Travis's cache (last updated: $(stat -c '%y' "${CACHE_MARKER}"))." if [[ "${TRAVIS_OS_NAME}" == osx ]]; then
local statcmd="stat -f '%Sm'"
else
local statcmd="stat -c '%y'"
fi
echo "Using third-party dependencies from Travis's cache (last updated: $(${statcmd} "${CACHE_MARKER}"))."
mkdir -p "$(dirname "${DEPS_BUILD_DIR}")" mkdir -p "$(dirname "${DEPS_BUILD_DIR}")"
mv -T "${HOME}/.cache/nvim-deps" "${DEPS_BUILD_DIR}" mv "${HOME}/.cache/nvim-deps" "${DEPS_BUILD_DIR}"
else else
mkdir -p "${DEPS_BUILD_DIR}" mkdir -p "${DEPS_BUILD_DIR}"
fi fi

View File

@ -9,6 +9,7 @@ fi
if [[ "${TRAVIS_OS_NAME}" == osx ]]; then if [[ "${TRAVIS_OS_NAME}" == osx ]]; then
brew install gettext brew install gettext
brew reinstall -s libtool
elif [[ "${BUILD_MINGW}" == ON ]]; then elif [[ "${BUILD_MINGW}" == ON ]]; then
# TODO: When Travis gets a recent version of Mingw-w64 use packages: # TODO: When Travis gets a recent version of Mingw-w64 use packages:
# binutils-mingw-w64-i686 gcc-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64-dev mingw-w64-tools # binutils-mingw-w64-i686 gcc-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64-dev mingw-w64-tools
@ -16,7 +17,6 @@ elif [[ "${BUILD_MINGW}" == ON ]]; then
echo "Downloading MinGW..." echo "Downloading MinGW..."
curl -sSL "https://github.com/neovim/deps/raw/master/opt/i686-w64-mingw32-gcc-4.8.0-linux64_rubenvb.tar.xz" \ curl -sSL "https://github.com/neovim/deps/raw/master/opt/i686-w64-mingw32-gcc-4.8.0-linux64_rubenvb.tar.xz" \
| tar xJf - -C "${HOME}/.local" | tar xJf - -C "${HOME}/.local"
fi fi
# Use default CC to avoid compilation problems when installing Python modules. # Use default CC to avoid compilation problems when installing Python modules.

View File

@ -12,9 +12,6 @@ fi
# as $USER, while retaining the environment variables defined and belonging # as $USER, while retaining the environment variables defined and belonging
# to secondary groups given above in usermod. # to secondary groups given above in usermod.
if [[ "${TRAVIS_OS_NAME}" == osx ]]; then if [[ "${TRAVIS_OS_NAME}" == osx ]]; then
# Set up precompiled third-party dependencies.
eval "$(curl -Ss https://raw.githubusercontent.com/neovim/bot-ci/master/scripts/travis-setup.sh) deps-x64"
sudo -E su "${USER}" -c ".ci/run_tests.sh" sudo -E su "${USER}" -c ".ci/run_tests.sh"
else else
.ci/run_tests.sh .ci/run_tests.sh