Commit Graph

240 Commits

Author SHA1 Message Date
Jan Edmund Lazo
c065b0d75f CI: bump nodejs to v10.x (LTS)
v8.x will be EOL at end of 2019.
nvm on Travis has outdated LTS aliases.
2019-10-25 07:24:56 -04:00
Hirokazu Hata
02393a0c74 ci/install.sh: pin treesitter to v0.15.9 #11266
When "tree-sitter test" is executed, query test is also executed, but "tree-sitter-c" does not have query test yet, so cli version that does not include query test execution To use.

ref e14e285a10
2019-10-20 22:53:00 -07:00
Daniel Hahler
db9f68f98d ci: AppVeyor: coverage for Lua (Windows) (#10426) 2019-10-09 03:07:42 +02:00
Daniel Hahler
dfed0e60d7 Merge pull request #11154 from blueyed/bump-tree-sitter
ci: upgrade tree-sitter from 0.15.2 to 0.15.9
2019-10-07 13:34:23 +02:00
Daniel Hahler
6ea49d8c76 ci: use cluacov for better performance (#11152) 2019-10-07 13:01:14 +02:00
Daniel Hahler
8f20c50caa ci: submit_coverage: run luacov actually (#11169)
Apparently this got lost with #11127 / 77a551b65.
2019-10-07 00:44:54 +02:00
Daniel Hahler
e9b420dba5 lint 2019-10-06 22:55:24 +02:00
Daniel Hahler
7a3602378f ci: upgrade tree-sitter from 0.15.2 to 0.15.9
tree-sitter-c is still at 0.15.2 though.
2019-10-06 22:55:11 +02:00
Daniel Hahler
77a551b657 ci: coverage for Lua (no Windows, using luacov) (#11127) 2019-10-04 16:09:42 +02:00
Daniel Hahler
3d3c783fea ci: Travis: simplify 32bit build (#11093)
- `CMAKE_SYSTEM_LIBRARY_PATH` should not be used, and is a
  semicolon-separated list anyway [1]

1: https://cmake.org/cmake/help/latest/variable/CMAKE_SYSTEM_LIBRARY_PATH.html
2019-10-03 05:40:25 +02:00
Daniel Hahler
b18b84df5e build: run git-describe for dev version during build (#11117)
This avoids invoking CMake after a new commit, which might take 15s on
some systems.

Skipped on CMake < 3.2.0 (missing BYPRODUCTS support).

Co-Authored-By: Justin M. Keyes <justinkz@gmail.com>
2019-09-30 00:10:29 +02:00
Björn Linse
4ea5e63aa8 tree-sitter: add basic testing on ci
build tree-sitter c parser on ci for testing purposes
2019-09-28 14:55:43 +02:00
Jan Edmund Lazo
7be7ec98a2 ci/travis: install pynvim outside of $HOME
This runs the python tests on Travis.
WIP: skip failing python tests
2019-09-14 17:30:22 -04:00
Daniel Hahler
6cc76194b2 tests: use runtime from build for doc/tags with :help (#10479)
This is better practice in general, and allows to remove the "helptags
ALL" hacks.

Ref: https://github.com/neovim/neovim/issues/8824
Ref: https://github.com/neovim/neovim/commit/f1b67c3453c

* Makefile: fix dependencies with regard to helptags

- use the file as the main target to avoid unnecessary triggering
- use "make oldtest" on Travis to ensure it gets built
2019-08-28 22:47:54 +02:00
Daniel Hahler
fc12ada4f1 ci: AppVeyor: exitIfFailed with old tests (#10187) 2019-08-21 21:54:03 +02:00
Daniel Hahler
7c0ae06664 ci: Travis: build.sh: use cat "-vet" for osx
Fixes:

    cat: illegal option -- A
    usage: cat [-benstuv] [file ...]

Broken in 5cc45bb41.

squash! ci: Travis: build.sh: use cat "-vET" for osx  [skip appveyor]

cat -vet
2019-08-14 23:17:42 +02:00
Daniel Hahler
5cc45bb419 ci: Travis: check logs for TSan also (#10775)
Uses `cat -A` with early "*San" check:
This prints terminal escape sequences as-is (for debugging), and does
not cause (display) issues with the Travis log.

Ref: https://github.com/neovim/neovim/pull/10591#issuecomment-521248233
2019-08-14 18:27:08 +02:00
Daniel Hahler
0167c2e0c9 ci: AppVeyor: fix upload of coverage for oldtest (#10721)
This was not working due to having another `python` in the PATH then.

Ref: https://ci.appveyor.com/project/neovim/neovim/builds/26492761/job/dspm40v5l2v6gn40?fullLog=true#L15955
2019-08-07 22:09:18 +02:00
Daniel Hahler
208f56d3b9 ci: Travis: improve/revisit caching (#10358)
- use CACHE_NVIM_DEPS_DIR

- do not cache pip
  This is handled through http caches in general/better, and it is not
  used much anyway.

- do not cache DEPS_DOWNLOAD_DIR
  Built deps are cached, downloads are not needed then.

- display ccache stats before clearing

- do not cache ccache stats

- improve output of `du` (do not list pages of output for "/home/travis/.cache/go-build")
2019-07-30 23:21:12 +02:00
Daniel Hahler
d651710de1 ci: pylint target via flake8
Ref: https://github.com/neovim/neovim/pull/10631#issuecomment-515756591
2019-07-29 22:14:23 +02:00
Daniel Hahler
48884ac3b3 ci: Travis: no need for asan_symbolize (#10627)
Having llvm-symbolizer in the $PATH is enough.

- check_logs: remove log after displaying it
  Otherwise it would be displayed/symbolized again and again.

E.g. in https://api.travis-ci.org/v3/job/564477704/log.txt.
2019-07-28 11:48:54 +02:00
Daniel Hahler
997601d966 ci: AppVeyor: DEPS_BUILD_DIR is not a CMake variable [ci skip] (#10613)
Fixes:

> CMake Warning:
> Manually-specified variables were not used by the project:
>
>   DEPS_BUILD_DIR
2019-07-27 11:55:17 +02:00
Daniel Hahler
d1faf900b1 coverage: use "cd" with gcovr (#10594)
This makes the invocation compatible for the upcoming gcovr 4.2 release,
and is the correct way of invoking it.

Ref: https://github.com/gcovr/gcovr/commit/a782972#commitcomment-34420728
2019-07-25 01:11:17 +02:00
Daniel Hahler
a04e0c8db2 Revert "Downgrade to clang-4.0 to avoid false-positive warnings from clang" [skip appveyor] (#10487)
This reverts commit 2cbac719c3.
2019-07-18 08:49:37 +02:00
Daniel Hahler
777cc6f98a ci: AppVeyor: do not install unibilium system-wide (#10464)
Initially added in 685ca180f, but gets built via third-party anyway by now.
2019-07-10 17:28:35 +02:00
Daniel Hahler
44e150bd46 ci: Travis: use minimum supported CMake in one job (#10445) 2019-07-08 12:53:43 +02:00
Daniel Hahler
28a86608a8 CI: improve gcov handling #10404
- Move __gcov_flush to process_spawn, for more reliable coverage
  tracking of subprocesses
- Travis: use GCOV_ERROR_FILE
- codecov: use "-X fix" to skip "fixing" uploaded coverage data; it
  should be handled by codecov's backend instead.
- AppVeyor: no $PATH mangling, which breaks with the improved coverage tracking
  due to missing .dll in PATH.
2019-07-07 21:09:37 +02:00
Daniel Hahler
32361a1245 Improve luacheck setup [skip appveyor]
- Move .luacheckrc to root, add read_globals=vim
- Simplify lualint target, run it on all lua files
- Lint preload.lua, but ignore W211
- Remove testlint target, included in lualint (and lint)
- Clean up .luacheckrc
2019-07-04 12:29:54 +02:00
Daniel Hahler
d42bbf363e ci: Travis: do not close fold on failure [skip ci]
This makes it easier to inspect the test failure, without having to open
two folds (typically), and scrolling around.
2019-07-03 00:43:22 +02:00
Daniel Hahler
c62690ccc4 ci: Travis: upgrade OSX images (10.1 => 10.2) (#10319)
* ci: Travis: upgrade OSX images (10.1 => 10.2)

* ci: nvim-deps: use `cp -a`  [skip appveyor]

Symlinks should be preserved.

Ref: https://github.com/neovim/neovim/pull/10319#issuecomment-505410132
2019-06-26 20:06:40 +02:00
Daniel Hahler
e13ae7cae6 ci: revisit/fix coverage uploading (#10201)
* Add ci/common/submit_coverage.sh, used with Travis and AppVeyor

* use gcovr, with coverage.xml for better branch coverage reporting, and
  easier processing of gcov files in general

* codecov: use flags again, with `uname -s` additionally
  Ref: https://github.com/neovim/neovim/pull/10227#issuecomment-502923543

* remove now unused parsers.gcov config from codecov.yml
2019-06-25 15:35:33 +02:00
Daniel Hahler
487eaf8d45 CI: use -m to invoke pip #10275
Also install "pynvim" instead of "neovim".

Ref: https://github.com/neovim/neovim/pull/10228#discussion_r295266859
2019-06-19 20:28:37 +02:00
Daniel Hahler
c6ce40bf37 ci: Travis: simplify/improve Python/pip setup (#10228)
* ci/before_install.sh: do not (try to) upgrade pip

  It is not necessary usually (for our use case(s)), and rather good to
  have this (implicitly) pinned.

* Simplify/improve Python info output

* Use pyenv-global to activate/use Python 2.7/7.7

* simplify pip-install of neovim, also for osx
2019-06-18 20:13:47 +02:00
Daniel Hahler
185fc775b9 ci: Travis: ccache: use --zero-stats
This makes it display actual results in before_cache then, and it seems
like it is not necessary to keep stats across builds.
2019-06-17 02:00:58 +02:00
Daniel Hahler
3dab5f625f ci/build.ps1: add comment for PATH mangling with old tests 2019-06-17 02:00:58 +02:00
Daniel Hahler
04d03b0cbc ci/common/test.sh: fix some issues reported by shellcheck 2019-06-17 02:00:58 +02:00
Daniel Hahler
5a96161e86 ci: AppVeyor: ensure that win32 feature is set (#10216)
[skip travis]

Closes https://github.com/neovim/neovim/pull/10232.

Co-authored-by: Jan Edmund Lazo <jan.lazo@mail.utoronto.ca>
2019-06-16 02:33:47 +02:00
Daniel Hahler
26a9d2cef1 ci: codecov: do not use flags [ci skip] (#10227)
Using flags results in timeouts on their end when viewing reports, and
is a known issue since months already.
2019-06-15 18:34:00 +02:00
Justin M. Keyes
ae2401621a ci/build.ps1: Respect CMAKE_BUILD_TYPE if provided #9869 2019-04-09 00:17:07 +02:00
glacambre
d928b036dc :stopinsert should leave terminal-mode #9856
Problem:  Calling :stopinsert from RPC while in terminal-mode does not
          go back to normal-mode.
Solution: Implement a check() handler for state_enter(), adapted from
          insert_check().

Fix #7807
2019-04-08 01:13:43 +02:00
Justin M. Keyes
7872739d3c CI/AppVeyor: print info about restored cache 2019-04-08 01:19:38 +02:00
Justin M. Keyes
02aa57afa5 CI/AppVeyor: build deps out-of-tree
appveyor.yml: set cache to an absolute path.

Desperate attempt to get AppVeyor cache to work.

My assumption in a7a56293aa #9852 that that different jobs were
overwriting each other's cache is probably wrong: AppVeyor
docs/discussions hint that the cache is per-config (though I haven't
found a clear, unambiguous statement as such).
2019-04-08 01:00:47 +02:00
Justin M. Keyes
c5e8924f4e CI/AppVeyor: do skip-logic earlier #9854 2019-04-07 14:43:50 +02:00
Justin M. Keyes
a7a56293aa CI/AppVeyor: per-compiler deps cache #9852
The deps cache does not work for MSVC builds because the MINGW builds
ovewrite it.  Cache saves 10+ minutes on the build.
2019-04-07 03:54:22 +02:00
Jan Edmund Lazo
a9b1937e5a ci: install neovim gem on macOS
High Sierra has ruby 2.3 preinstalled so neovim gem should work.
2018-12-27 09:44:54 -05:00
Jan Edmund Lazo
c926ba1dc4 ci: use homebrew addon to simplify shell scripts 2018-12-26 11:55:29 -05:00
Justin M. Keyes
cffe2d4642 CI/AppVeyor: install "pynvim" python package #9371 2018-12-16 10:47:59 +01:00
James McCoy
2cbac719c3 Downgrade to clang-4.0 to avoid false-positive warnings from clang
* -Wtautological-compare

    error: self-comparison always evaluates to true [-Werror,-Wtautological-compare]
    for (win_T *wp = ((curtab) == curtab) ? firstwin : (curtab)->tp_firstwin; wp != ((void*)0); wp = wp->w_next) {

* -Wconversion

    error: implicit conversion loses floating-point precision: 'const float_T' (aka 'const double') to 'float' [-Werror,-Wconversion]
          do { const float_T flt_ = (tv->vval.v_float); switch ((sizeof (flt_) == sizeof (float) ? __fpclassifyf (flt_) : sizeof (flt_) == sizeof (double) ? __fpclassify (flt_) : __fpclassifyl (flt_))) { case 0: { ga_concat(gap, (char_u *)(char_u *) "str2float('nan')"); break; } case 1: { if (flt_ < 0) { ga_append(gap, '-'); } ga_concat(gap, (char_u *)(char_u *) "str2float('inf')"); break; } default: { char numbuf[NUMBUFLEN]; vim_snprintf(numbuf, ((sizeof(numbuf)/sizeof((numbuf)[0])) / ((size_t)(!(sizeof(numbuf) % sizeof((numbuf)[0]))))), "%g", flt_); ga_concat(gap, (char_u *)(char_u *) numbuf); } } } while (0);
                                                                                                   ~~~~~~~~~~~~~  ^~~~
2018-11-24 22:56:25 +01:00
Marco Hinz
2f6364ea4b travis: switch from Ubuntu 14.04 to 16.04
Travis is phasing out its support for containers, so we remove the `sudo:
false`, which will be a no-op soon.

Reference: https://blog.travis-ci.com/2018-11-19-required-linux-infrastructure-migration

Changes for Linux:

  - Xenial comes with libtool installed already. It only provides "libtoolize",
    though. For "libtool" we need to install libtool-bin.
2018-11-24 22:56:24 +01:00
Justin M. Keyes
85761dd426 CI/Travis/macOS: Fix "brew reinstall" invocation (#9259)
"-s" is "--build-from-source", an option to `brew install`.  This was
never a documented option per `brew help reinstall`.  It's not clear why
we were using this option, but it now fails the CI build.

ref https://github.com/Homebrew/brew/pull/5274
ref https://github.com/Homebrew/brew/issues/1656
2018-11-20 20:20:11 +01:00