mirror of
https://github.com/neovim/neovim.git
synced 2024-12-24 21:25:04 -07:00
d2eb4a9346
* Split build steps to utilize the Travis build lifecycle. * Move shell code from `.travis.yml` into Bash files in `.ci/`, one file for each step of the Travis build lifecycle. * Use configuration variables in `.travis.yml` to change build behavior (e.g. build 32-bit with `BUILD_32BIT=ON`). * Keep all configuration in environment variables in `.travis.yml`. In scripts, concatenate environment variables according to configuration to change to different behavior. * Add GCC 5 builds for Linux. * Use Travis's caching feature [1] for third-party dependencies and pip packages. * Allow failures MSan, as the errors it reports have to be fixed first. Valgrind is still disabled, but can be enabled by setting `env: VALGRIND=ON` for a job in `.travis.yml`. [1] http://docs.travis-ci.com/user/caching
25 lines
712 B
Bash
Executable File
25 lines
712 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
set -o pipefail
|
|
|
|
if [[ "${TRAVIS_OS_NAME}" != linux ]]; then
|
|
# Caches are only enabled for Travis's Linux container infrastructure,
|
|
# but this script is still executed on OS X.
|
|
exit
|
|
fi
|
|
|
|
# Don't cache pip's log and selfcheck.
|
|
rm -rf "${HOME}/.cache/pip/log"
|
|
rm -f "${HOME}/.cache/pip/selfcheck.json"
|
|
|
|
# Update the third-party dependency cache only if the build was successful.
|
|
if [[ -f "${SUCCESS_MARKER}" ]]; then
|
|
if [[ ! -f "${CACHE_MARKER}" ]] || [[ "${BUILD_NVIM_DEPS}" == true ]]; then
|
|
echo "Updating third-party dependency cache."
|
|
rm -rf "${HOME}/.cache/nvim-deps"
|
|
mv -T "${DEPS_INSTALL_PREFIX}" "${HOME}/.cache/nvim-deps"
|
|
touch "${CACHE_MARKER}"
|
|
fi
|
|
fi
|