Commit Graph

256 Commits

Author SHA1 Message Date
Jan Edmund Lazo b4e4ed844a
ci/Appveyor: respect -NoTest param
Skips nodejs and Neovim::Ext.
2020-01-20 19:49:51 -05:00
Jan Edmund Lazo 4faf30de3e
ci/Appveyor: install diffutils via scoop
scoop is a Windows package manager, similar to homebrew on OSX.
It is written on powershell, works in unelevated accounts,
is regularly maintained, and does not need mingw/msys2/cygwin
or WSL environments.
Sample use case is running (busybox) bash,
which can be installed via scoop via "scoop install busybox",
to use CI bash scripts in Appveyor.

Parts of scoop's directory can be cached to avoid downloads.
scoop modifies the registry for persistence environment variables
so scoop itself cannot be cached.
2020-01-20 19:43:59 -05:00
Jan Edmund Lazo 40cc5822b1
ci: install perl provider 2020-01-20 19:43:58 -05:00
KillTheMule 2c62b2fc56 build.ps1: add "-NoTests" param #11654 2020-01-02 05:52:18 -08:00
Jan Edmund Lazo d53456c68f
ci: set nodejs version for tests outside fold 2019-12-31 22:22:56 -05:00
Jan Edmund Lazo 4bd51d8988
CI: set nodejs version to 10 on main scripts
nvm can run within a bash shell only.
2019-12-30 18:48:32 -05:00
Daniel Hahler 5c9063cf2d snap: fix line continuation #11475
reverts commit 5298169068.
2019-11-28 20:51:43 -08:00
Justin M. Keyes c6d70d1786 snap: more yak-shaving
- generate decryption step
- skip job for PRs
- remove transfer.sh support
- deploy every (master) commit
2019-11-28 19:30:27 -08:00
Carlos Hernandez 8501e4a1ff snap: add snapcraft secrets to CI 2019-11-28 15:38:48 -08:00
Carlos Hernandez 6325ec90dc snap: add "snap" job to Travis CI 2019-11-28 15:38:40 -08:00
Daniel Hahler 629ea19994
deps: upgrade bundled LuaRocks: 2.4.4 => 3.2.1 (#10292)
Changelog: https://github.com/luarocks/luarocks/compare/v2.4.4..v3.2.1#diff-4ac32a78649ca5bdd8e0ba38b7006a1e
2019-11-19 19:10:30 +01:00
Jan Edmund Lazo 5689008060 build: add shlint target for shellcheck (#11350) 2019-11-09 13:39:01 +01:00
Jan Edmund Lazo 0cf694e83e
ci: do not skip before_install on lint job 2019-10-26 21:19:02 -04:00
Jan Edmund Lazo 3bee2f1604
ci: use python3 for flake8
'make pylint' fails if flake8 runs on python2.
2019-10-26 20:27:03 -04:00
Jan Edmund Lazo ec205f4b9b
ci: simplify tree-sitter-cli install
Remove useless `npm link` for tree-sitter-cli.
Use powershell builtins.
2019-10-25 07:24:57 -04:00
Jan Edmund Lazo 9b22b69454
CI/Appveyor: set powershell strict mode
Set-PSDebug produces too much noise and has global scope.
Strict mode is scoped to the script context and catches errors.
2019-10-25 07:24:56 -04:00
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
Justin M. Keyes 2c085257fd CI/AppVeyor: Avoid "warning" which causes non-zero retcode
ErrorActionPreference=stop will fail the script if this warning occurs.

see https://github.com/open62541/open62541/issues/2068
2018-11-05 00:35:54 +01:00
Jan Edmund Lazo 8ce3d0174e ci: win: enable powershell's strict mode
Give variables a default value to pass strict mode.
$ErrorActionPreference defines the default behavior
if a powershell command fails.
If it's set to 'stop', then it aborts the script
on the first unresolved error.
This behavior extends to native programs like cmake
but do not depend on it.

https://github.com/PowerShell/PowerShell/issues/3996
2018-10-31 22:57:26 -04:00
Jan Edmund Lazo 9929af47fe ci: win: use Ninja for CMake Generator 2018-10-31 22:56:19 -04:00
Justin M. Keyes 5fbc2eeac5 CI/Travis/macOS: use default Travis-provided python/pip
Despite #9095, `brew upgrade python` broke again, somehow.

We should not bother attempting to force a python version. Instead use
whatever python Travis provides on the macOS image.
2018-10-23 02:01:12 +02:00
Jan Edmund Lazo 57ff96be8e CI/AppVeyor: fix MSBuild hack for functional tests
PR #9087 changed the error string by removing 'Running', breaking the
MSBuild hack detecting failure for functional tests. If stdout or stderr
has a line with 'functional tests failed with error', fail the build.
2018-10-22 01:28:02 +02:00
Justin M. Keyes 78418e17e9 CI/travis/macOS: silence non-error messages from homebrew
Reduces the log size by 11% (1100/9670 lines).
2018-10-13 23:34:49 +02:00
Justin M. Keyes 3d2493a3fd CI/travis/macOS: use "sudo rm" to remove cores
After bumping Travis macOS to 10.13, it now hangs at:

    + check_core_dumps --delete quiet
    + local del=
    + test --delete = --delete
    + del=1
    + shift
    + local app=quiet
    + test osx = osx
    ++ find /cores/ -type f -print
    + local 'cores=/cores//core.554
    /cores//core.641
    /cores//core.801'
    + test -z '/cores//core.554
    /cores//core.641
    /cores//core.801'
    + local core
    + for core in '$cores'
    + test 1 = 1
    + print_core quiet /cores//core.554
    + local app=quiet
    + local core=/cores//core.554
    + test quiet = quiet
    + echo 'Found core /cores//core.554'
    Found core /cores//core.554
    + return 0
    + rm /cores//core.554
    override r--------  root/admin for /cores//core.554?

The cores are always present on the Travis macOS 10.13 image! Hilarious.
2018-10-13 23:34:49 +02:00
Justin M. Keyes 0995f460fb 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🔚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🔚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-13 22:33:01 +02:00
Justin M. Keyes 9fe8e3cb2f CI/AppVeyor: Disable gcov build for PRs
Currently the "gcov" build always fails on AppVeyor. It makes the builds
very slow, so disable it for PRs until the problem is fixed.

closes #8911
closes #8912
2018-09-04 21:19:30 +02:00
Justin M. Keyes acdede50ce
test: Dump $NVIM_LOG_FILE contents (#8926)
Do this at the test-framework level instead of CI (Travis) scripts.
Then it works for QuickBuild and AppVeyor.

ref eb6dd3e42d
2018-08-28 22:13:34 +02:00
Justin M. Keyes 47f9ab4635 CI/travis: fix restore from cache
a369385009 fixed this for "~/.cache/nvim-deps/", but strangely not for
"~/.cache/nvim-deps-downloads/".

ref a369385009
ref #8316
ref #8281

Seen in https://travis-ci.org/neovim/neovim/jobs/414982972 :

    Using third-party dependencies from Travis cache (last update: Aug 11 23:00:15 2018).
    cp: /Users/travis/build/neovim/neovim/deps-downloads/nvim-deps-downloads/…/nvim-deps-downloads/libvterm/a9c7c6fd20fa35e0ad3e0e98901ca12dfca9c25c.tar.gz:
    name too long (not copied)
2018-08-12 12:38:38 +02:00
Jan Edmund Lazo f274b84e1e test: give more time for nodejs
Link neovim package to project root directory.
Increase delay to 3 seconds.
Reduce the total lines in temporary node scripts.
2018-06-04 19:42:28 -04:00
James McCoy d5da357925
travis: Enable ccache 2018-05-01 07:02:44 -04:00
Srikanth M a369385009 ci/travis: fix restore from cache #8316
closes #8281
2018-04-24 21:43:13 +02:00
Jan Edmund Lazo 51b9d85bb4 ci/win: redirect stderr to fix mingw build 2018-04-13 13:42:12 -04:00
Jan Edmund Lazo ad30907814 Revert "ci/win: don't use lastexitcode hack on mingw build"
This reverts commit bc43d2559f.

stderr redirection should make the workaround work for mingw builds.
2018-04-13 13:38:31 -04:00
Jan Edmund Lazo bc43d2559f ci/win: don't use lastexitcode hack on mingw build
The heck is for MSVC builds to workaround msbuild error detection for cmake.
2018-04-12 02:39:25 -04:00
Jan Edmund Lazo 979569356f ci/win: prefer msys find.exe
runnvim.sh depends on it for file glob patterns.
2018-04-12 02:19:03 -04:00
Justin M. Keyes c8fd7ce08b
ci/AppVeyor: cover MinGW and MSVC in PRs (#8206) 2018-03-30 21:54:39 +02:00
Justin M. Keyes bbca3142e8
ci/AppVeyor: build MinGW only on master branch (#8193)
Else the build takes too long.
2018-03-29 09:17:44 +02:00
b-r-o-c-k c7caca60b9 ci/AppVeyor: Remove gperf from downloaded MSYS2 packages 2018-03-26 10:54:44 -05:00
b-r-o-c-k cffdc1da02 ci/AppVeyor: Remove Git Unix utilities from the PATH 2018-03-26 10:54:44 -05:00
b-r-o-c-k afe6b4881f build/msvc: Add workaround for false positive exit code from MSBuild
See https://cmake.org/pipermail/cmake-developers/2015-October/026775.html
2018-03-26 10:54:44 -05:00
Justin M. Keyes 66a8b593e7 ci/travis: report cache size 2018-03-18 14:11:39 +01:00
Justin M. Keyes 8f82f95c1c ci/travis: also cache $DEPS_DOWNLOAD_DIR
ref #5166
2018-03-18 14:11:38 +01:00
Justin M. Keyes b0e5187e49 ci/travis: Don't destroy cache during prepare
This change was missed in c7f95fde1b.
ref #5166
2018-03-17 14:26:34 +01:00
b-r-o-c-k e24e98534b ci/AppVeyor: use PowerShell (#8124) 2018-03-11 23:44:07 +01:00
Justin M. Keyes c7f95fde1b ci/travis: Don't destroy cache during prepare
Use `cp -r` instead of `mv`.
Remove use of `dirname`, that was missed in 10cdf8c286.

closes #5166
2018-03-11 20:29:20 +01:00
Justin M. Keyes b0b656dd37 ci/travis: rename $BUILD_NVIM_DEPS to $CACHE_ENABLE 2018-03-11 15:38:18 +01:00
Justin M. Keyes 45e81e03f8 ci/macOS: skip python2 on travis macOS
macOS travis builds recently started failing (travis caches were cleared
recently, maybe related). python2 is reasonably covered by linux CI. Not
going to waste time on it for macOS CI.

    ==> Installing python@2
    ==> Downloading https://homebrew.bintray.com/bottles/python@2-2.7.14_3.el_capita
    ==> Pouring python@2-2.7.14_3.el_capitan.bottle.tar.gz
    Error: The `brew link` step did not complete successfully
    The formula built, but is not symlinked into /usr/local
    Could not symlink bin/2to3-2
    Target /usr/local/bin/2to3-2
    is a symlink belonging to python. You can unlink it:
      brew unlink python
    To force the link and overwrite all conflicting files:
      brew link --overwrite python@2
    To list all files that would be deleted:
      brew link --overwrite --dry-run python@2
    Possible conflicting files are:
    /usr/local/bin/2to3-2 -> /usr/local/Cellar/python/2.7.12_1/bin/2to3-2
    /usr/local/bin/2to3-2.7 -> /usr/local/Cellar/python/2.7.12_1/bin/2to3-2.7
    /usr/local/bin/idle -> /usr/local/Cellar/python/2.7.12_1/bin/idle
    ...
2018-03-11 12:45:15 +01:00
Justin M. Keyes 968c7ab17e ci/travis: use ninja instead of make 2018-03-11 12:45:15 +01:00
Justin M. Keyes d554a6c7f0 ci/AppVeyor: fix `set` whitespace quoting 2018-03-11 12:43:42 +01:00
Justin M. Keyes 9cefd83cc7
Merge #8084 'build/win: support MSVC' 2018-03-08 20:26:18 +01:00
b-r-o-c-k 0adf950ccf build/msvc: Fix AppVeyor build script for 'MINGW_64-gcov' configuration 2018-03-07 11:07:07 -06:00
b-r-o-c-k 7612ba5ad9 build/msvc: Change MSBuild verbosity to normal 2018-03-05 11:00:01 -06:00
b-r-o-c-k cfb713b5c6 build/msvc: Add Appveyor CI for MSVC 2018-03-04 17:44:23 -06:00
Marco Hinz 90fc7c6ad0
ci: the homebrew formula for Python 3 was renamed (#8094)
Homebrew changed a few formulae to meet their standards. "python3" was renamed
to "python", and "python2" to "python@2".

As for why, read this announcement: https://brew.sh/2018/01/19/homebrew-1.5.0

Since we install Python 3 via homebrew anyway, we now do the same for Python 2
as well. We do that because the system Python 2 of macOS comes without pip
installed and this way seems cleaner than doing "sudo easy_install pip".

The Python 2 formula is keg-only now, so it doesn't interfere with the system
Python 2. Therefore we have to add its executables to $PATH ourselves.
2018-03-04 01:11:09 +01:00
James McCoy 9fdd5d7f03
codecov: Submit test suite specific coverage 2018-02-06 23:23:59 -05:00
James McCoy 6e2bb564e1
ci: Remove coveralls coverage reporting 2018-02-06 21:18:54 -05:00
James McCoy 5da6f0e903
travis: Don't run unit tests for functionaltest-lua build 2018-02-02 07:28:56 -05:00
Jan Edmund Lazo 9370a0e5d8 ci/travis: install neovim npm module on osx (#7825)
Always get latest nvm on osx to fix lts aliases.
2018-01-08 00:37:31 +01:00
Justin M. Keyes 46a9600d0e ci/travis: macOS: skip ruby-neovim install
With 6fa0a0a516 the neovim-ruby gem installs successfully, but
ruby_spec.lua can't find it: g:ruby_host_prog needs to be set correctly.

Just skip the whole thing for now, so that CI builds don't fail.
2018-01-07 20:09:25 +01:00
Justin M. Keyes 6fa0a0a516 ci/travis: macOS: switch ruby version
Travis macOS builds are failing because of neovim-ruby gem dependencies.
Switch default ruby to a newer version to make the builds pass.
2018-01-07 20:04:57 +01:00
James McCoy dd0fa4fd0e
ci: asan_check: No-op unless performing ASAN build 2018-01-02 08:15:32 -05:00
James McCoy 90aae43984
travis: Use Ubuntu's clang instead of llvm's repo
The llvm repos commonly have access issues, so removing them will
improve stability of the Travis builds.

Filtering check_log's output through asan_symbolize also avoids the
version dance every time a new clang version makes its way into Travis.
2018-01-02 08:15:31 -05:00
Jan Edmund Lazo 5b692124cc test: remove inspect test; set NODE_PATH in nodejs_spec.lua
provider#node#can_inspect will fail on some systems because it is common
to have old node versions in OS (any Linux OS that has LTS releases)
and CI (Travis, Appveyor).

NODE_PATH can be trivially set with VimL.
Build scripts don't have to set it for the nodejs tests to work.
NODE_PATH is optional to begin with and is used only as a workaround
for the neovim node.js host.
2017-12-17 16:09:18 +01:00
Jan Edmund Lazo a1adfdc7d5 ci: nodejs client acceptance-test #7706
ci: install nodejs 8 in Appveyor, Travis

provider: check node version for debug support
Resolve https://github.com/neovim/neovim/pull/7577#issuecomment-350590592 for Unix.

provider: test if nodejs in ci supports --inspect-brk

nodejs host for neovim requires nodejs 6+ to work properly.
nodejs 6.12+ or 7.6+ is required for debug support via `node --inspect-brk`.

provider: run cli.js of nodejs host directly

npm shims are useless because the user cannot set node to debug mode via
--inspect-brk. This is problematic on Windows which use batchfiles and
shell scripts to compensate for not supporting shebang.

The patch uses `npm root -g` to get the absolute path of the global npm
modules. If that fails, then the user did not install neovim npm package
globally. Use that absolute path to find `neovim/bin/cli.js`, which is
what the npm shim actually runs with node. glob() is for a simple file
check in case bin/ is removed because the npm shims are ignored now.
2017-12-17 16:09:18 +01:00
Jan Edmund Lazo 4a5bc6275d ci: run oldtests in Appveyor #7705 2017-12-10 02:45:41 +01:00
Jan Edmund Lazo afae4b5141 ci: Install neovim gem in Appveyor (#7700)
ref #7655
2017-12-07 10:21:03 +01:00
Justin M. Keyes f51a397010 ci/travis: ignore pip3 failure
Workaround for travis issue:
https://github.com/travis-ci/travis-ci/issues/8363

Cannot check `command -v pip3`, because that may point to
`/opt/pyenv/shims/pip3` which is also (sometimes) broken.

ref 6389bde0bc
2017-09-10 14:14:00 +02:00
Justin M. Keyes 6389bde0bc ci/travis: skip pip3 upgrade if pip3 is missing
Workaround for travis issue:
https://github.com/travis-ci/travis-ci/issues/8363

Sometimes `pip3` works, sometimes not:
   pyenv: pip3: command not found
   The `pip3' command exists in these Python versions:
     3.5
     3.5.3

Tried these steps to fix the issue:
- add `python: 3.6` to top level of `.travis.yml`
- add `python3` to `addons.apt.packages` level of `.travis.yml`
- `pyenv global system 3.{4,5,6}`
- `pyenv global 3.6`
In all cases the presence or absence of `pip3` was random.
2017-09-09 21:26:56 +02:00
Justin M. Keyes 23cc41df55 ci/travis: report python environment info 2017-09-09 21:26:55 +02:00
Justin M. Keyes 44dc8bbb13 ci/win: list build permutations explicitly (#7163)
This avoids changing the matrix permutations for the old non-gcov
builds, so that old URLs continue to work:

https://ci.appveyor.com/api/projects/neovim/neovim/artifacts/build/Neovim.zip?branch=master&job=Configuration%3A%20MINGW_32
https://ci.appveyor.com/api/projects/neovim/neovim/artifacts/build/Neovim.zip?branch=master&job=Configuration%3A%20MINGW_64
2017-08-15 11:06:51 +02:00
James McCoy e88fc35429
ci: Collect coverage data for MINGW_64 builds on appveyor 2017-08-14 09:15:59 -04:00
James McCoy e463cb6fa0
ci: Switch to codecov.io for coverage data
Continue uploading to coveralls, for now, so we can compare the
services.
2017-08-14 09:15:54 -04:00
Justin M. Keyes f34befe74c Merge #6789 from ZyX-I/lua-path
lua: Add paths from &runtimepath to package.path and package.cpath
2017-06-27 02:29:15 +02:00
Justin M. Keyes eb6dd3e42d ci: Dump $NVIM_LOG_FILE contents 2017-06-07 00:26:21 +02:00
ZyX 58f6ef50a8 ci: Also lint lua code in src/nvim/lua 2017-05-25 16:50:06 +03:00
ZyX 09f849b600 Merge branch 'master' into luaviml'/lua 2017-05-08 15:43:45 +03:00
Justin M. Keyes b9dba14fa3
win: build: RelWithDebInfo 2017-05-03 20:28:54 -04:00
Rui Abreu Ferreira 685ca180f7 win: Terminal UI #6315
For CI builds unibilium is provided through msys2 packages, and
libtermkey is built from source in third-party from equalsraf/libtermkey.

In Windows we cannot read terminal input from the stdin file descriptor,
instead use libuv's uv_tty API. It should handle key input and encoding.

The UI suspend is not implemented for Windows, because the
SIGSTP/SIGCONT do not exist in windows. Currently this is a NOOP.

Closes #3902
Closes #6640
2017-05-03 12:48:24 +02:00
ZyX e4d0fa6e8d Do not trace in check_runtime_files 2017-05-01 17:38:21 +03:00
ZyX 1109ca7198 ci: Use \{1,\} in place of \+ 2017-05-01 17:36:45 +03:00
ZyX 48fa42153a ci: Fold output in travis web interface 2017-05-01 16:36:24 +03:00
ZyX ee4daa6572 ci: Remove `x` from `test x` 2017-04-24 23:11:13 +03:00
ZyX 74d5705ca9 ci: Source ci/common/test.sh in run_test_wd subshell 2017-04-24 22:37:36 +03:00
ZyX 85903cb0e6 ci: Make scripts in common be dash-compatible
`ulimit` may still be not present: dash and busybox support it, but posh does
not.
2017-04-24 22:37:36 +03:00
ZyX 4ccef05829 ci: Make $cmd failure fail the build without -o pipefail 2017-04-24 21:44:17 +03:00
ZyX fc16d02c3d ci: Do not use pipefail 2017-04-24 19:30:28 +03:00
ZyX 3a0117c850 ci: Do not accidentally kill something unneeded 2017-04-24 18:34:47 +03:00
ZyX 26fad863ba ci: When using restarting tests kill make with the shell 2017-04-24 18:28:46 +03:00
ZyX ab4d13e2fa Merge branch 'master' into luaviml'/lua 2017-04-10 22:21:06 +03:00
ZyX 2a8055a8d9 ci: Make appveyor use new output handler as well 2017-04-10 15:11:41 +03:00
ZyX 7c9c4d9da9 ci: Increase check-single-includes wait time to 10s 2017-04-09 03:36:17 +03:00
ZyX 3321232c81 ci: Allow check-single-includes to hang 2017-04-09 03:36:16 +03:00
ZyX 043d8ff9f2 Merge branch 'master' into luaviml'/lua 2017-04-08 01:54:58 +03:00
ZyX c1416e0665 ci: Really continue tests on failure, print global summary 2017-04-07 00:46:52 +03:00
ZyX 017f64b970 ci: Also fail if last restart hang up 2017-04-04 04:59:30 +03:00
ZyX dcad882256 ci: Do not fail csi_clean if there are no files to remove 2017-04-04 04:17:40 +03:00
ZyX d59378a5ca ci: Force make output coloring 2017-04-04 04:03:50 +03:00
ZyX 644db2165e ci: Clean up when restarting single includes test 2017-04-04 03:58:10 +03:00
ZyX ae7d8d8ffb ci: Do not mark test as failed if it is previous one which failed 2017-04-03 03:47:42 +03:00
ZyX 6ddaace7ac ci: Do not shift if there are not enough arguments 2017-03-31 20:52:05 +03:00
ZyX 86f5b1276b ci: Add test watchdog and tracing for lint tests 2017-03-31 19:42:18 +03:00