Commit Graph

256 Commits

Author SHA1 Message Date
Dundar Göc 8b92d71b30 ci: run each test suite in a separate github step
This should help combat some of the lagginess when looking at the CI
logs in the browser.
2022-02-18 11:36:30 +01:00
Dundar Göc b877237612 ci(reviews): move reviews.js to .github/scripts 2022-02-17 14:48:14 +01:00
Dundar Göc 51cc5c5654 ci: add more reviewers 2022-02-14 18:58:10 +01:00
zeertzjq 29eabbcd07 ci: use a separate script for request review workflow 2022-02-14 07:47:10 +08:00
Dundar Göc c373226ee7 ci: disable tracing (set -x) from the shell scripts 2022-02-11 16:53:34 +01:00
Dundar Göc 2c5382aafa ci: remove function run_test 2022-02-10 09:43:51 +01:00
Dundar Göc 2f3fb53dbd ci: remove meta-suite "tests" 2022-02-10 09:43:51 +01:00
Dundar Göc 357234865b ci: remove continue flag from exit_suite since it's always needed 2022-02-10 09:43:51 +01:00
Dundar Göc b8529ea9b8 ci: run all tests with run_suite function 2022-02-10 09:43:51 +01:00
Dundar Göc f30ce7d273 ci: run all suites with run_suite function 2022-02-07 09:57:21 +01:00
Dundar Göc fa192e97d5 ci: simplify CI process 2022-02-04 23:51:51 +01:00
Dundar Göc b30ac599f8 ci: remove all code containing python2
Also change all mentions of python 3 to just python.
2022-01-26 23:44:02 +01:00
Dundar Göc 16d64796f4 ci(windows): use the provided python from github actions
This will prevent future errors whenever support for a specific python
version we rely on is removed.
2022-01-26 16:40:43 +01:00
Dundar Göc ec615abd1f ci: install flake8 with apt instead of pip 2022-01-03 21:54:23 +01:00
dundargoc be255557ce
ci: simplify ci_fold function (#16874) 2022-01-03 11:47:11 -05:00
Dundar Göc e71fbf2eb0 ci: remove unnecessary before_install script 2022-01-02 23:46:46 +01:00
Dundar Göc 64f23c27e2 ci: remove watchdog function run_tests_wd
It's only used once for running check-single-includes (which I strongly
suspect it doesn't need anyway), its core logic is incorrect since both the
variables "tempsize" and "prev_temsize" are never defined and parsing ps
is incredibly fragile.
2022-01-02 18:23:28 +01:00
dundargoc f86039de1e
ci: remove outdated travis-specific code (#16869) 2022-01-01 12:42:26 -05:00
dundargoc caa6992a10
chore: fix typos (#16361)
Co-authored-by: Brede Yabo Sherling Kristensen <bredeyabo@hotmail.com>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Co-authored-by: István Donkó <istvan.donko@gmail.com>
Co-authored-by: Julian Berman <Julian@GrayVines.com>
Co-authored-by: bryant <bryant@users.noreply.github.com>
Co-authored-by: Michael Lingelbach <m.j.lbach@gmail.com>
Co-authored-by: nlueb <9465658+nlueb@users.noreply.github.com>
Co-authored-by: Leonhard Saam <leonhard.saam@yahoo.com>
Co-authored-by: Jesse Wertheim <jaawerth@gmail.com>
Co-authored-by: dm1try <me@dmitry.it>
Co-authored-by: Jakub Łuczyński <doubleloop@o2.pl>
Co-authored-by: Louis Lebrault <louis.lebrault@gmail.com>
Co-authored-by: Brede Yabo Sherling Kristensen <bredeyabo@hotmail.com>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Co-authored-by: István Donkó <istvan.donko@gmail.com>
Co-authored-by: Julian Berman <Julian@GrayVines.com>
Co-authored-by: bryant <bryant@users.noreply.github.com>
Co-authored-by: Michael Lingelbach <m.j.lbach@gmail.com>
Co-authored-by: nlueb <9465658+nlueb@users.noreply.github.com>
Co-authored-by: Leonhard Saam <leonhard.saam@yahoo.com>
Co-authored-by: Jesse Wertheim <jaawerth@gmail.com>
Co-authored-by: dm1try <me@dmitry.it>
Co-authored-by: Jakub Łuczyński <doubleloop@o2.pl>
Co-authored-by: Louis Lebrault <louis.lebrault@gmail.com>
2021-11-27 11:10:48 -05:00
James McCoy 7126315935
fix(ci): use correct check for path-existence 2021-10-31 14:09:10 -04:00
James McCoy ec0f4fab48
ci(win): only remove choco's cpack.exe if it exists 2021-10-31 09:41:10 -04:00
James McCoy c84b86fe3d
ci: make sure choco cpack does not interfere with CMake cpack
[skip ci]
2021-10-30 14:02:04 -04:00
Jakub Łuczyński 035d82e0d3
build: update cmake min version to 3.10 #16065
* build(cmake): update cmake min version to 3.10
* ci: test cmake minimum required version
* build(cmake): remove some legacy includes
  * Since version 3.5 cmake_parse_arguments is implemented natively.
2021-10-19 19:19:33 -07:00
Christian Clason f6c0a37b02
build(deps)!: use libuv 1.42.0 upstream for WIN32 (#15889)
Switch libuv from https://github.com/neovim/libuv fork to upstream for WIN32.
Upstream at 1.42.0 is now used for all platforms.

BREAKING CHANGE: removes Windows 7 support
BREAKING CHANGE: removes support for mouse and alternate buffers in TUI for
Windows 8 and 8.1
2021-10-05 17:23:42 +02:00
James McCoy 6a03bcc3c2
fix(test): Detect more core filenames 2021-04-08 08:13:39 -04:00
James McCoy 8f24199490
ci(gha/win): Do not rename python.exe to python3.exe if it exists
GHA now provides python3.exe by default -- actions/python-versions#78

Ensure Python 2 directory is earlier in $PATH so bare python always
invokes Python 2.
2021-02-05 22:39:10 -05:00
erw7 abdb2b4d29 GHA: fix build problems on Windows 2020-12-16 15:27:35 +09:00
Thomas Vigouroux d7051705d0 ci: setup GitHub actions for windows 2020-12-16 13:12:14 +09:00
James McCoy be9bd43502
ci: Only setup ipv6 on macOS for Travis 2020-11-24 21:26:03 -05:00
James McCoy d93e397232
ci: s/TRAVIS_OS_NAME/CI_OS_NAME/ for non-Travis-specific code 2020-11-24 21:26:02 -05:00
James McCoy 80d1c4da5f
ci: Only try installing python-pynvim if Py2 pip is present 2020-11-23 08:43:37 -05:00
James McCoy 39b3eb34c2
ci: Install gem binaries to ~/.local/bin
That directory is already part of `$PATH`, so let's reuse it instead of
trying to figure what version-specific path binaries gem normally uses.
2020-11-14 17:23:35 -05:00
James McCoy 25a8385cd1
ci: Rename travis_fold to ci_fold and add GHA support 2020-11-13 13:38:12 -05:00
James McCoy eb96bec4bb
ci/before_script.sh: Remove early exit for lint job
lualint requires building dependencies, so allow the job to take
advantage of the cache.
2020-11-13 13:36:58 -05:00
James McCoy eb2aaed5cc
Add Linux ASAN GitHub Action 2020-11-13 13:36:56 -05:00
James McCoy d0714e87d6
build: Rename TRAVIS_BUILD_DIR to CI_BUILD_DIR 2020-11-13 13:36:56 -05:00
erw7 29deb5dc31 ci/appveyor: change to update package database 2020-10-27 10:49:51 +09:00
Alex Genco da3b59fc8e Install pre-release neovim gem in CI
The `ruby_eval` RPC message will be available in neovim-ruby
0.9.0.pre.*. That will become 0.9.0 once `rubyeval` is merged to neovim.

The `--version` argument isn't needed, as `gem` should pick the latest
release.
2020-10-21 10:20:21 -07:00
Justin M. Keyes 6abbc157af
Merge #12862 snap: multiarch, support luajit where possible 2020-09-07 21:43:13 -07:00
Carlos Hernandez eae4b2a088
snap: migrate releases to snapcraft.io buils
Architectures supported by Travis due not match 1 to 1 to the
architectures supported by snapcraft.io and launchpad. To support as
many architectures as possible, deploys to the snap store should be done
via a simulated Github webhook. An additional secret will need to be
added to Travis-ci
2020-09-06 15:00:04 +00:00
Carlos Hernandez 1da67c1869 snap: drop snapcraft push release 2020-09-06 14:33:06 +00:00
James McCoy 2516386c6b
travis: Install clang-11 for ASAN/UBSAN job
[skip appveyor]
2020-09-04 10:59:16 -04:00
James McCoy 16e69eae70
travis: Relax pyenv versions to 2.7:3.8
We don't care about the specifics of the patch version, so just set the
major:minor.

[skip appveyor]
2020-09-04 10:59:15 -04:00
Carlos Hernandez 65b2fce787
snap: don't run snapcraft under sudo
Snapcraft 4.0 complains about running LXD builds under sudo.  So instead
add the CI user to the "lxd" group and use sg to switch to that
membership.

Resolves: #12712
2020-08-30 17:13:41 +00:00
erw7 6c6cee644d
ci: fix build failure in Travis [skip appveyor] (#12678) 2020-07-24 22:37:47 +02:00
Justin M. Keyes 1b42e95ece
ci/travis: Enable ipv6 #12182
ref: a39c8b7ce3
ref: bfe13ccc58

Also:
- Remove unused macos_rvm_dance() function. (It was there for reference,
  but we have since resolved (or gave up) on Travis + macOS + ruby.
2020-04-25 17:20:37 -07:00
James McCoy cca301d939
Install pynvim with --user to avoid permission issues
[skip appveyor]
2020-03-18 23:52:22 -04:00
Jan Edmund Lazo 45b8dc0c3d
Revert "ci/Appveyor: install diffutils via scoop"
This reverts commit 4faf30de3e.
2020-03-07 23:14:42 -05:00
Björn Linse 00c57c98df treesitter: add standard &rtp/parser/ search path for parsers 2020-02-07 09:22:55 +01:00
Justin M. Keyes 1c3ca4f18f mksession: always unix slashes "/" for filepaths 2020-01-26 17:30:47 -08:00
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