diff options
Diffstat (limited to '.travis.yml')
-rw-r--r-- | .travis.yml | 88 |
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 |