aboutsummaryrefslogtreecommitdiff
path: root/.travis.yml
diff options
context:
space:
mode:
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml88
1 files changed, 82 insertions, 6 deletions
diff --git a/.travis.yml b/.travis.yml
index 325b5e7b56..b920f70f45 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -4,6 +4,19 @@ language: c
env:
global:
+ # Encrypted environment variables, see
+ # http://docs.travis-ci.com/user/encryption-keys/
+ #
+ # SNAP_SECRET_KEY: generated by:
+ # travis encrypt SNAP_SECRET_KEY=xx --add
+ # https://github.com/neovim/neovim/pull/11428
+ # snapcraft key expires after 1 year. Steps to refresh it:
+ # 1. snapcraft enable-ci travis --refresh
+ # 2. mv .snapcraft/travis_snapcraft.cfg ci/snap/travis_snapcraft.cfg
+ # 3. Copy after_success command to ci/snap/deploy.sh from .travis.yml
+ # 4. Undo changes to .travis.yml
+ - secure: hd0qn2u8ABbJg5Bx4pBRcUQbKYFmcSHoecyHIPTCnGJT+NI41Bvm/IkN/N5DhBF+LbD3Q2nmR/dzI5H/dqS7RxMFvEx1DuFLendFHHX3MYf0AuKpXYY3gwgMTmqx8p/v6srlU7RBGWNGzHCWqksAem+EIWCe3I7WvfdKo1/DV/Y=
+
# Set "false" to force rebuild of third-party dependencies.
- CACHE_ENABLE=true
# Build directory for Neovim.
@@ -24,10 +37,6 @@ env:
-DDEPS_PREFIX=$DEPS_BUILD_DIR/usr
-DMIN_LOG_LEVEL=3"
- DEPS_CMAKE_FLAGS="-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"
@@ -62,12 +71,12 @@ addons:
- build-essential
- clang
- cmake
+ - cpanminus
- cscope
- gcc-multilib
- gdb
- gperf
- language-pack-tr
- - libc6-dev-i386
- libtool-bin
- locales
- ninja-build
@@ -76,10 +85,14 @@ addons:
- valgrind
- xclip
homebrew:
- update: false
+ update: true
+ casks:
+ - powershell
packages:
- ccache
+ - cpanminus
- ninja
+ - perl
jobs:
include:
@@ -99,14 +112,19 @@ jobs:
- GCOV=gcov-9
- CMAKE_FLAGS="$CMAKE_FLAGS -DUSE_GCOV=ON"
- GCOV_ERROR_FILE="/tmp/libgcov-errors.log"
+ - USE_LUACOV=1
+ - BUSTED_ARGS="--coverage"
- *common-job-env
addons:
apt:
sources:
- sourceline: 'ppa:ubuntu-toolchain-r/test'
+ - sourceline: 'deb [arch=amd64] https://packages.microsoft.com/ubuntu/16.04/prod xenial main'
+ key_url: 'https://packages.microsoft.com/keys/microsoft.asc'
packages:
- *common-apt-packages
- gcc-9
+ - powershell
- if: branch = master AND commit_message !~ /\[skip.lint\]/
name: lint
os: linux
@@ -136,15 +154,73 @@ jobs:
compiler: gcc
env:
- BUILD_32BIT=ON
+ - CMAKE_FLAGS="$CMAKE_FLAGS -m32 -DCMAKE_TOOLCHAIN_FILE=$TRAVIS_BUILD_DIR/cmake/i386-linux-gnu.toolchain.cmake"
+ - DEPS_CMAKE_FLAGS="$DEPS_CMAKE_FLAGS -m32 -DCMAKE_TOOLCHAIN_FILE=$TRAVIS_BUILD_DIR/cmake/i386-linux-gnu.toolchain.cmake"
# Minimum required CMake.
- CMAKE_URL=https://cmake.org/files/v2.8/cmake-2.8.12-Linux-i386.sh
- *common-job-env
+ - name: big-endian
+ os: linux
+ arch: s390x
+ 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
+ addons:
+ apt:
+ packages:
+ - *common-apt-packages
+ - gettext
+ - python-pip
+ - python3-pip
+ - python-setuptools
+ - python3-setuptools
+ - python-dev
+ - python3-dev
- name: clang-tsan
os: linux
compiler: clang
env:
- CLANG_SANITIZER=TSAN
- *common-job-env
+ - if: type != pull_request
+ name: snap
+ os: linux
+ env:
+ - LC_ALL: C.UTF-8
+ - LANG: C.UTF-8
+ - SNAPCRAFT_ENABLE_SILENT_REPORT: y
+ - SNAPCRAFT_ENABLE_DEVELOPER_DEBUG: y
+ addons:
+ snaps:
+ - name: snapcraft
+ channel: stable
+ classic: true
+ - name: http
+ - name: transfer
+ - name: lxd
+ channel: stable
+ # Override default before_install, before_cache.
+ before_install: /bin/true
+ before_cache: /bin/true
+ install: ci/snap/install.sh
+ before_script: echo "Building snap..."
+ script: ci/snap/script.sh
+ after_success: ci/snap/after_success.sh
+ deploy:
+ skip_cleanup: true
+ provider: script
+ script: ci/snap/deploy.sh
+ on:
+ branch: master
+ allow_failures:
+ - env:
+ - LC_ALL: C.UTF-8
+ - LANG: C.UTF-8
+ - SNAPCRAFT_ENABLE_SILENT_REPORT: y
+ - SNAPCRAFT_ENABLE_DEVELOPER_DEBUG: y
fast_finish: true
before_install: ci/before_install.sh