2018-11-20 02:05:07 -07:00
|
|
|
dist: xenial
|
|
|
|
|
2014-02-22 10:29:21 -07:00
|
|
|
language: c
|
2015-07-05 00:52:36 -07:00
|
|
|
|
2014-04-22 10:40:19 -07:00
|
|
|
env:
|
2014-05-31 07:19:14 -07:00
|
|
|
global:
|
2018-03-11 05:31:10 -07:00
|
|
|
# Set "false" to force rebuild of third-party dependencies.
|
|
|
|
- CACHE_ENABLE=true
|
2015-07-05 00:52:36 -07:00
|
|
|
# Build directory for Neovim.
|
|
|
|
- BUILD_DIR="$TRAVIS_BUILD_DIR/build"
|
|
|
|
# Build directory for third-party dependencies.
|
2015-09-08 03:48:04 -07:00
|
|
|
- DEPS_BUILD_DIR="$HOME/nvim-deps"
|
|
|
|
# Directory where third-party dependency sources are downloaded to.
|
|
|
|
- DEPS_DOWNLOAD_DIR="$TRAVIS_BUILD_DIR/deps-downloads"
|
2015-07-05 00:52:36 -07:00
|
|
|
# Install directory for Neovim.
|
|
|
|
- INSTALL_PREFIX="$HOME/nvim-install"
|
|
|
|
# Log directory for Clang sanitizers and Valgrind.
|
|
|
|
- LOG_DIR="$BUILD_DIR/log"
|
2017-05-30 05:54:09 -07:00
|
|
|
# Nvim log file.
|
|
|
|
- NVIM_LOG_FILE="$BUILD_DIR/.nvimlog"
|
2015-07-05 00:52:36 -07:00
|
|
|
# Default CMake flags.
|
|
|
|
- CMAKE_FLAGS="-DTRAVIS_CI_BUILD=ON
|
|
|
|
-DCMAKE_BUILD_TYPE=Debug
|
|
|
|
-DCMAKE_INSTALL_PREFIX:PATH=$INSTALL_PREFIX
|
2017-04-09 17:33:00 -07:00
|
|
|
-DBUSTED_OUTPUT_TYPE=nvim
|
2014-12-08 13:00:54 -07:00
|
|
|
-DDEPS_PREFIX=$DEPS_BUILD_DIR/usr
|
2017-05-29 17:03:08 -07:00
|
|
|
-DMIN_LOG_LEVEL=3"
|
2018-12-07 12:09:44 -07:00
|
|
|
- DEPS_CMAKE_FLAGS="-DDEPS_DOWNLOAD_DIR:PATH=$DEPS_DOWNLOAD_DIR -DUSE_BUNDLED_GPERF=OFF"
|
2015-07-05 00:52:36 -07:00
|
|
|
# Additional CMake flags for 32-bit builds.
|
|
|
|
- CMAKE_FLAGS_32BIT="-DCMAKE_SYSTEM_LIBRARY_PATH=/lib32:/usr/lib32:/usr/local/lib32
|
|
|
|
-DCMAKE_IGNORE_PATH=/lib:/usr/lib:/usr/local/lib
|
|
|
|
-DCMAKE_TOOLCHAIN_FILE=$TRAVIS_BUILD_DIR/cmake/i386-linux-gnu.toolchain.cmake"
|
|
|
|
# Environment variables for Clang sanitizers.
|
|
|
|
- ASAN_OPTIONS="detect_leaks=1:check_initialization_order=1:log_path=$LOG_DIR/asan"
|
2016-11-11 12:18:54 -07:00
|
|
|
- TSAN_OPTIONS="log_path=$LOG_DIR/tsan"
|
2016-11-12 20:28:59 -07:00
|
|
|
- UBSAN_OPTIONS="print_stacktrace=1 log_path=$LOG_DIR/ubsan"
|
2018-11-20 18:22:42 -07:00
|
|
|
- ASAN_SYMBOLIZE=asan_symbolize
|
2015-07-05 00:52:36 -07:00
|
|
|
# Environment variables for Valgrind.
|
|
|
|
- VALGRIND_LOG="$LOG_DIR/valgrind-%p.log"
|
2018-03-11 05:31:10 -07:00
|
|
|
# If this file exists, the cache is valid (compile was successful).
|
2015-07-05 00:52:36 -07:00
|
|
|
- CACHE_MARKER="$HOME/.cache/nvim-deps/.travis_cache_marker"
|
2016-03-06 22:18:44 -07:00
|
|
|
# default target name for functional tests
|
|
|
|
- FUNCTIONALTEST=functionaltest
|
2017-03-31 06:02:53 -07:00
|
|
|
- CI_TARGET=tests
|
2018-05-01 04:02:11 -07:00
|
|
|
# Environment variables for ccache
|
|
|
|
- CCACHE_COMPRESS=1
|
|
|
|
- CCACHE_SLOPPINESS=time_macros,file_macro
|
|
|
|
- CCACHE_BASEDIR="$TRAVIS_BUILD_DIR"
|
2015-07-05 00:52:36 -07:00
|
|
|
|
2017-05-13 21:46:30 -07:00
|
|
|
jobs:
|
2014-11-27 07:10:36 -07:00
|
|
|
include:
|
2018-01-01 19:30:54 -07:00
|
|
|
- stage: normal builds
|
2017-05-13 21:46:30 -07:00
|
|
|
os: linux
|
2018-11-20 18:22:42 -07:00
|
|
|
compiler: clang-4.0
|
2018-11-15 18:00:04 -07:00
|
|
|
# Use Lua so that ASAN can test our embedded Lua support. 8fec4d53d0f6
|
2017-05-13 21:46:30 -07:00
|
|
|
env: >
|
|
|
|
CLANG_SANITIZER=ASAN_UBSAN
|
|
|
|
CMAKE_FLAGS="$CMAKE_FLAGS -DPREFER_LUA=ON"
|
2018-11-20 18:22:42 -07:00
|
|
|
ASAN_SYMBOLIZE=asan_symbolize-4.0
|
2018-01-01 19:30:54 -07:00
|
|
|
- os: linux
|
2018-01-01 19:19:58 -07:00
|
|
|
compiler: gcc
|
2018-02-01 06:48:52 -07:00
|
|
|
env: >
|
|
|
|
FUNCTIONALTEST=functionaltest-lua
|
|
|
|
CMAKE_FLAGS="$CMAKE_FLAGS -DPREFER_LUA=ON"
|
|
|
|
DEPS_CMAKE_FLAGS="$DEPS_CMAKE_FLAGS -DUSE_BUNDLED_LUAJIT=OFF"
|
2015-07-05 00:52:36 -07:00
|
|
|
- os: linux
|
2018-01-10 15:21:30 -07:00
|
|
|
# Travis creates a cache per compiler. Set a different value here to
|
|
|
|
# store 32-bit dependencies in a separate cache.
|
2018-05-06 02:33:21 -07:00
|
|
|
compiler: gcc
|
2016-01-01 19:00:20 -07:00
|
|
|
env: BUILD_32BIT=ON
|
2014-11-27 07:10:36 -07:00
|
|
|
- os: osx
|
2014-11-30 03:27:08 -07:00
|
|
|
compiler: clang
|
CI/travis/macOS: fix missing pip3
homebrew or Travis changed something, now `pip3` isn't in $PATH.
`ls /usr/local/opt/python/libexec/bin` confirmed this, no matter what
brew reinstall/relink/upgrade are used.
Bumping the macOS image to 10.12 or 10.13 makes the problem go away.
==> Processing gcc49 formula rename to gcc@4.9
==> Unlinking gcc49
==> Moving gcc49 versions to /usr/local/Cellar/gcc@4.9
==> Relinking gcc@4.9
Warning: gcc@4.9 is outdated!
To avoid broken installations, as soon as possible please run:
brew upgrade
Or, if you're OK with a less reliable fix:
brew upgrade gcc@4.9
python info:
Python 2.7.12
Python 2.7.12
ci/before_install.sh: line 18: python3: command not found
pip 8.1.2 from /usr/local/lib/python2.7/site-packages (python 2.7)
pip 8.1.2 from /usr/local/lib/python2.7/site-packages (python 2.7)
ci/before_install.sh: line 21: pip3: command not found
pyenv versions:
* system (set by /Users/travis/.pyenv/version)
Upgrade Python 3.
To restore the stashed changes to /usr/local/Homebrew run:
'cd /usr/local/Homebrew && git stash pop'
==> Caveats
Python has been installed as
/usr/local/bin/python3
Unversioned symlinks `python`, `python-config`, `pip` etc. pointing to
`python3`, `python3-config`, `pip3` etc., respectively, have been installed into
/usr/local/opt/python/libexec/bin
If you need Homebrew's Python 2.7 run
brew install python@2
Pip, setuptools, and wheel have been installed. To update them run
pip3 install --upgrade pip setuptools wheel
You can install Python packages with
pip3 install <package>
They will install into the site-package directory
/usr/local/lib/python3.7/site-packages
See: https://docs.brew.sh/Homebrew-and-Python
==> Summary
º /usr/local/Cellar/python/3.7.0: 8,864 files, 153.8MB, built in 6 minutes 32 seconds
...
Upgrade Python 3 pip.
ci/before_install.sh: line 30: pip3: command not found
travis_time:end:0d23f522:start=1538818824750644000,finish=1538819451424021000,duration=626673377000
The command "ci/before_install.sh" failed and exited with 127 during .
Your build has been stopped.
/Users/travis/.travis/job_stages: line 373: shell_session_update: command not found
==> Processing gcc49 formula rename to gcc@4.9
==> Unlinking gcc49
==> Moving gcc49 versions to /usr/local/Cellar/gcc@4.9
==> Relinking gcc@4.9
Warning: gcc@4.9 is outdated!
To avoid broken installations, as soon as possible please run:
brew upgrade
Or, if you're OK with a less reliable fix:
brew upgrade gcc@4.9
python info:
Python 2.7.12
Python 2.7.12
ci/before_install.sh: line 18: python3: command not found
pip 8.1.2 from /usr/local/lib/python2.7/site-packages (python 2.7)
pip 8.1.2 from /usr/local/lib/python2.7/site-packages (python 2.7)
ci/before_install.sh: line 21: pip3: command not found
pyenv versions:
* system (set by /Users/travis/.pyenv/version)
Upgrade Python 3.
To restore the stashed changes to /usr/local/Homebrew run:
'cd /usr/local/Homebrew && git stash pop'
==> Caveats
Python has been installed as
/usr/local/bin/python3
Unversioned symlinks `python`, `python-config`, `pip` etc. pointing to
`python3`, `python3-config`, `pip3` etc., respectively, have been installed into
/usr/local/opt/python/libexec/bin
If you need Homebrew's Python 2.7 run
brew install python@2
Pip, setuptools, and wheel have been installed. To update them run
pip3 install --upgrade pip setuptools wheel
You can install Python packages with
pip3 install <package>
They will install into the site-package directory
/usr/local/lib/python3.7/site-packages
See: https://docs.brew.sh/Homebrew-and-Python
==> Summary
º /usr/local/Cellar/python/3.7.0: 8,864 files, 153.8MB, built in 6 minutes 32 seconds
...
Upgrade Python 3 pip.
ci/before_install.sh: line 30: pip3: command not found
travis_time:end:0d23f522:start=1538818824750644000,finish=1538819451424021000,duration=626673377000
The command "ci/before_install.sh" failed and exited with 127 during .
Your build has been stopped.
/Users/travis/.travis/job_stages: line 373: shell_session_update: command not found
2018-10-07 04:23:23 -07:00
|
|
|
osx_image: xcode9.4 # macOS 10.13
|
2014-11-27 07:10:36 -07:00
|
|
|
- os: osx
|
2018-01-01 19:19:58 -07:00
|
|
|
compiler: gcc
|
CI/travis/macOS: fix missing pip3
homebrew or Travis changed something, now `pip3` isn't in $PATH.
`ls /usr/local/opt/python/libexec/bin` confirmed this, no matter what
brew reinstall/relink/upgrade are used.
Bumping the macOS image to 10.12 or 10.13 makes the problem go away.
==> Processing gcc49 formula rename to gcc@4.9
==> Unlinking gcc49
==> Moving gcc49 versions to /usr/local/Cellar/gcc@4.9
==> Relinking gcc@4.9
Warning: gcc@4.9 is outdated!
To avoid broken installations, as soon as possible please run:
brew upgrade
Or, if you're OK with a less reliable fix:
brew upgrade gcc@4.9
python info:
Python 2.7.12
Python 2.7.12
ci/before_install.sh: line 18: python3: command not found
pip 8.1.2 from /usr/local/lib/python2.7/site-packages (python 2.7)
pip 8.1.2 from /usr/local/lib/python2.7/site-packages (python 2.7)
ci/before_install.sh: line 21: pip3: command not found
pyenv versions:
* system (set by /Users/travis/.pyenv/version)
Upgrade Python 3.
To restore the stashed changes to /usr/local/Homebrew run:
'cd /usr/local/Homebrew && git stash pop'
==> Caveats
Python has been installed as
/usr/local/bin/python3
Unversioned symlinks `python`, `python-config`, `pip` etc. pointing to
`python3`, `python3-config`, `pip3` etc., respectively, have been installed into
/usr/local/opt/python/libexec/bin
If you need Homebrew's Python 2.7 run
brew install python@2
Pip, setuptools, and wheel have been installed. To update them run
pip3 install --upgrade pip setuptools wheel
You can install Python packages with
pip3 install <package>
They will install into the site-package directory
/usr/local/lib/python3.7/site-packages
See: https://docs.brew.sh/Homebrew-and-Python
==> Summary
º /usr/local/Cellar/python/3.7.0: 8,864 files, 153.8MB, built in 6 minutes 32 seconds
...
Upgrade Python 3 pip.
ci/before_install.sh: line 30: pip3: command not found
travis_time:end:0d23f522:start=1538818824750644000,finish=1538819451424021000,duration=626673377000
The command "ci/before_install.sh" failed and exited with 127 during .
Your build has been stopped.
/Users/travis/.travis/job_stages: line 373: shell_session_update: command not found
==> Processing gcc49 formula rename to gcc@4.9
==> Unlinking gcc49
==> Moving gcc49 versions to /usr/local/Cellar/gcc@4.9
==> Relinking gcc@4.9
Warning: gcc@4.9 is outdated!
To avoid broken installations, as soon as possible please run:
brew upgrade
Or, if you're OK with a less reliable fix:
brew upgrade gcc@4.9
python info:
Python 2.7.12
Python 2.7.12
ci/before_install.sh: line 18: python3: command not found
pip 8.1.2 from /usr/local/lib/python2.7/site-packages (python 2.7)
pip 8.1.2 from /usr/local/lib/python2.7/site-packages (python 2.7)
ci/before_install.sh: line 21: pip3: command not found
pyenv versions:
* system (set by /Users/travis/.pyenv/version)
Upgrade Python 3.
To restore the stashed changes to /usr/local/Homebrew run:
'cd /usr/local/Homebrew && git stash pop'
==> Caveats
Python has been installed as
/usr/local/bin/python3
Unversioned symlinks `python`, `python-config`, `pip` etc. pointing to
`python3`, `python3-config`, `pip3` etc., respectively, have been installed into
/usr/local/opt/python/libexec/bin
If you need Homebrew's Python 2.7 run
brew install python@2
Pip, setuptools, and wheel have been installed. To update them run
pip3 install --upgrade pip setuptools wheel
You can install Python packages with
pip3 install <package>
They will install into the site-package directory
/usr/local/lib/python3.7/site-packages
See: https://docs.brew.sh/Homebrew-and-Python
==> Summary
º /usr/local/Cellar/python/3.7.0: 8,864 files, 153.8MB, built in 6 minutes 32 seconds
...
Upgrade Python 3 pip.
ci/before_install.sh: line 30: pip3: command not found
travis_time:end:0d23f522:start=1538818824750644000,finish=1538819451424021000,duration=626673377000
The command "ci/before_install.sh" failed and exited with 127 during .
Your build has been stopped.
/Users/travis/.travis/job_stages: line 373: shell_session_update: command not found
2018-10-07 04:23:23 -07:00
|
|
|
osx_image: xcode9.4 # macOS 10.13
|
2019-01-01 07:15:51 -07:00
|
|
|
- if: branch = master
|
|
|
|
os: linux
|
2017-05-13 21:46:30 -07:00
|
|
|
env: CI_TARGET=lint
|
2017-08-13 07:01:39 -07:00
|
|
|
- stage: Flaky builds
|
2017-05-13 21:46:30 -07:00
|
|
|
os: linux
|
2018-01-01 19:19:58 -07:00
|
|
|
compiler: gcc
|
|
|
|
env: GCOV=gcov CMAKE_FLAGS="$CMAKE_FLAGS -DUSE_GCOV=ON"
|
2017-08-13 07:01:39 -07:00
|
|
|
- os: linux
|
2018-01-01 19:00:07 -07:00
|
|
|
compiler: clang
|
2017-08-13 07:01:39 -07:00
|
|
|
env: CLANG_SANITIZER=TSAN
|
2016-12-27 16:00:52 -07:00
|
|
|
allow_failures:
|
2018-01-01 19:19:58 -07:00
|
|
|
- env: GCOV=gcov CMAKE_FLAGS="$CMAKE_FLAGS -DUSE_GCOV=ON"
|
2017-08-13 07:01:39 -07:00
|
|
|
- env: CLANG_SANITIZER=TSAN
|
2015-02-02 09:19:12 -07:00
|
|
|
fast_finish: true
|
2015-07-05 00:52:36 -07:00
|
|
|
|
2017-03-31 05:32:58 -07:00
|
|
|
before_install: ci/before_install.sh
|
|
|
|
install: ci/install.sh
|
|
|
|
before_script: ci/before_script.sh
|
|
|
|
script: ci/script.sh
|
|
|
|
before_cache: ci/before_cache.sh
|
2015-07-05 00:52:36 -07:00
|
|
|
|
|
|
|
addons:
|
|
|
|
apt:
|
|
|
|
packages:
|
2018-11-20 02:05:07 -07:00
|
|
|
- apport
|
2015-07-05 00:52:36 -07:00
|
|
|
- autoconf
|
|
|
|
- automake
|
|
|
|
- build-essential
|
2018-11-20 18:22:42 -07:00
|
|
|
- clang-4.0
|
2015-09-22 05:36:15 -07:00
|
|
|
- cmake
|
2016-12-24 15:24:57 -07:00
|
|
|
- cscope
|
2015-07-05 00:52:36 -07:00
|
|
|
- g++-multilib
|
|
|
|
- gcc-multilib
|
2015-09-22 05:36:15 -07:00
|
|
|
- gdb
|
2018-12-07 12:09:44 -07:00
|
|
|
- gperf
|
2017-04-10 10:48:45 -07:00
|
|
|
- language-pack-tr
|
2015-07-05 00:52:36 -07:00
|
|
|
- libc6-dev-i386
|
2018-11-20 02:05:07 -07:00
|
|
|
- libtool-bin
|
2017-04-10 10:48:45 -07:00
|
|
|
- locales
|
2018-03-09 12:55:10 -07:00
|
|
|
- ninja-build
|
2015-09-22 05:36:15 -07:00
|
|
|
- pkg-config
|
|
|
|
- unzip
|
2015-07-05 00:52:36 -07:00
|
|
|
- valgrind
|
2015-09-22 05:36:15 -07:00
|
|
|
- xclip
|
2018-12-26 09:55:26 -07:00
|
|
|
homebrew:
|
|
|
|
update: true
|
|
|
|
packages:
|
|
|
|
- ccache
|
|
|
|
- ninja
|
2015-07-05 00:52:36 -07:00
|
|
|
|
|
|
|
branches:
|
2018-12-21 03:48:32 -07:00
|
|
|
only:
|
|
|
|
- master
|
2019-01-01 06:06:02 -07:00
|
|
|
- /^release-\d+\.\d+$/
|
2015-07-05 00:52:36 -07:00
|
|
|
|
|
|
|
cache:
|
|
|
|
apt: true
|
2018-05-01 04:02:11 -07:00
|
|
|
ccache: true
|
2015-07-05 00:52:36 -07:00
|
|
|
directories:
|
|
|
|
- "$HOME/.cache/pip"
|
|
|
|
- "$HOME/.cache/nvim-deps"
|
2018-03-15 23:29:43 -07:00
|
|
|
- "$HOME/.cache/nvim-deps-downloads"
|
2015-07-05 00:52:36 -07:00
|
|
|
|
2015-03-17 16:36:45 -07:00
|
|
|
notifications:
|
|
|
|
webhooks:
|
|
|
|
urls:
|
|
|
|
- https://webhooks.gitter.im/e/b5c38c99f9677aa3d031
|