aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml51
-rw-r--r--appveyor.yml42
2 files changed, 93 insertions, 0 deletions
diff --git a/.travis.yml b/.travis.yml
index 0876bbad88..94d691b5f5 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -84,6 +84,40 @@ addons:
jobs:
include:
+ - stage: baseline
+ name: clang-asan
+ os: linux
+ compiler: clang
+ # Use Lua so that ASAN can test our embedded Lua support. 8fec4d53d0f6
+ env:
+ - CLANG_SANITIZER=ASAN_UBSAN
+ - CMAKE_FLAGS="$CMAKE_FLAGS -DPREFER_LUA=ON"
+ - *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
+ # Minimum required CMake.
+ - CMAKE_URL=https://cmake.org/files/v2.8/cmake-2.8.12-Linux-i386.sh
+ - *common-job-env
+ - if: branch = master AND commit_message !~ /\[skip.lint\]/
+ name: lint
+ os: linux
+ env:
+ - CI_TARGET=lint
+ - *common-job-env
+
- stage: second stage
name: "macOS: clang"
os: osx
@@ -98,10 +132,27 @@ jobs:
env:
- *common-job-env
+ - name: gcc-coverage (gcc 9)
+ os: linux
+ compiler: gcc-9
+ env:
+ - GCOV=gcov
+ - CMAKE_FLAGS="$CMAKE_FLAGS -DUSE_GCOV=ON"
+ - GCOV_ERROR_FILE="/tmp/libgcov-errors.log"
+ - *common-job-env
+ addons:
+ apt:
+ sources:
+ - sourceline: 'ppa:ubuntu-toolchain-r/test'
+ packages:
+ - *common-apt-packages
+ - gcc-9
+
- name: clang-tsan
os: linux
compiler: clang
env:
+ - CLANG_SANITIZER=TSAN
- *common-job-env
allow_failures:
- name: clang-tsan
diff --git a/appveyor.yml b/appveyor.yml
new file mode 100644
index 0000000000..bb7bb1c4e9
--- /dev/null
+++ b/appveyor.yml
@@ -0,0 +1,42 @@
+version: '{build}'
+environment:
+ APPVEYOR_CACHE_ENTRY_ZIP_ARGS: "-t7z -m0=lzma -mx=9"
+ DEPS_BUILD_DIR: "C:/projects/nvim-deps"
+ DEPS_PREFIX: "C:/projects/nvim-deps/usr"
+ # Silence/redirect errors due to missing locking support (via libgcov).
+ GCOV_ERROR_FILE: "$(TEMP)/libgcov-errors.log"
+image: Visual Studio 2017
+configuration:
+- MINGW_64-gcov
+- MINGW_32
+- MSVC_64
+- MSVC_32
+init:
+- ps: |
+ # Pull requests: skip some build configurations to save time.
+ if ($env:APPVEYOR_PULL_REQUEST_HEAD_COMMIT -and $env:CONFIGURATION -match '^(MSVC_64|MINGW_32)$') {
+ $env:APPVEYOR_CACHE_SKIP_SAVE = "true"
+ Exit-AppVeyorBuild
+ }
+# RDP
+#- ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
+matrix:
+ fast_finish: true
+install: []
+before_build:
+- ps: Install-Product node 8
+build_script:
+- powershell ci\build.ps1
+after_build:
+- ps: |
+ if (Test-Path $env:GCOV_ERROR_FILE) {
+ Get-Content $env:GCOV_ERROR_FILE -Head 10
+ Get-Content $env:GCOV_ERROR_FILE -Tail 10
+ } else {
+ write-host "no GCOV_ERROR_FILE"
+ }
+cache:
+- C:\projects\nvim-deps -> third-party\**
+artifacts:
+- path: build/Neovim.zip
+- path: build/bin/nvim.exe