neovim/.travis.yml

172 lines
4.8 KiB
YAML
Raw Normal View History

dist: xenial
2014-02-22 10:29:21 -07:00
language: c
env:
global:
# Set "false" to force rebuild of third-party dependencies.
- CACHE_ENABLE=true
# Build directory for Neovim.
- BUILD_DIR="$TRAVIS_BUILD_DIR/build"
# Build directory for third-party dependencies.
- DEPS_BUILD_DIR="$HOME/nvim-deps"
# Directory where third-party dependency sources are downloaded to.
- DEPS_DOWNLOAD_DIR="$TRAVIS_BUILD_DIR/deps-downloads"
# 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"
# Default CMake flags.
- CMAKE_FLAGS="-DTRAVIS_CI_BUILD=ON
-DCMAKE_BUILD_TYPE=Debug
-DCMAKE_INSTALL_PREFIX:PATH=$INSTALL_PREFIX
-DBUSTED_OUTPUT_TYPE=nvim
-DDEPS_PREFIX=$DEPS_BUILD_DIR/usr
-DMIN_LOG_LEVEL=3"
- DEPS_CMAKE_FLAGS="-DDEPS_DOWNLOAD_DIR:PATH=$DEPS_DOWNLOAD_DIR -DUSE_BUNDLED_GPERF=OFF"
# 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"
- TSAN_OPTIONS="log_path=$LOG_DIR/tsan"
- UBSAN_OPTIONS="print_stacktrace=1 log_path=$LOG_DIR/ubsan"
- ASAN_SYMBOLIZE=asan_symbolize
# Environment variables for Valgrind.
- VALGRIND_LOG="$LOG_DIR/valgrind-%p.log"
# If this file exists, the cache is valid (compile was successful).
- CACHE_MARKER="$HOME/.cache/nvim-deps/.travis_cache_marker"
# default target name for functional tests
- FUNCTIONALTEST=functionaltest
- 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"
anchors:
envs: &common-job-env
# Do not fall back to cache for "master" for PR on "release" branch:
# adds the target branch to the cache key.
__FOR_TRAVIS_CACHE__=$TRAVIS_BRANCH
jobs:
include:
- stage: normal builds
name: clang-asan
os: linux
compiler: clang-4.0
# Use Lua so that ASAN can test our embedded Lua support. 8fec4d53d0f6
env:
- CLANG_SANITIZER=ASAN_UBSAN
- CMAKE_FLAGS="$CMAKE_FLAGS -DPREFER_LUA=ON"
- ASAN_SYMBOLIZE=asan_symbolize-4.0
- *common-job-env
- name: gcc-functionaltest-lua
os: linux
compiler: gcc
env:
- FUNCTIONALTEST=functionaltest-lua
- CMAKE_FLAGS="$CMAKE_FLAGS -DPREFER_LUA=ON"
- DEPS_CMAKE_FLAGS="$DEPS_CMAKE_FLAGS -DUSE_BUNDLED_LUAJIT=OFF"
- *common-job-env
- name: gcc-32bit
os: linux
# Travis creates a cache per compiler. Set a different value here to
# store 32-bit dependencies in a separate cache.
compiler: gcc
env:
- BUILD_32BIT: ON
- *common-job-env
- name: "OSX: clang"
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
env: *common-job-env
- name: "OSX: gcc"
os: osx
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
env: *common-job-env
- if: branch = master
name: lint
os: linux
env:
- CI_TARGET=lint
- *common-job-env
- stage: Flaky builds
name: gcc-coverage
os: linux
compiler: gcc
env:
- GCOV=gcov
- CMAKE_FLAGS="$CMAKE_FLAGS -DUSE_GCOV=ON"
- *common-job-env
- os: linux
name: clang-tsan
compiler: clang
env:
- CLANG_SANITIZER=TSAN
- *common-job-env
2016-12-27 16:00:52 -07:00
allow_failures:
- name: gcc-coverage
- name: clang-tsan
fast_finish: true
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
addons:
apt:
packages:
- apport
- autoconf
- automake
- build-essential
- clang-4.0
- cmake
- cscope
- g++-multilib
- gcc-multilib
- gdb
- gperf
- language-pack-tr
- libc6-dev-i386
- libtool-bin
- locales
2018-03-09 12:55:10 -07:00
- ninja-build
- pkg-config
- unzip
- valgrind
- xclip
homebrew:
update: true
packages:
- ccache
- ninja
branches:
only:
- master
2019-01-01 06:06:02 -07:00
- /^release-\d+\.\d+$/
cache:
apt: true
2018-05-01 04:02:11 -07:00
ccache: true
directories:
- "$HOME/.cache/pip"
- "$HOME/.cache/nvim-deps"
- "$HOME/.cache/nvim-deps-downloads"
notifications:
webhooks:
urls:
- https://webhooks.gitter.im/e/b5c38c99f9677aa3d031