63 Commits

Author SHA1 Message Date
c30b93db93 ci: add Riley to Treesitter reviewers (#34791) 2025-07-04 14:44:04 -07:00
52b9bab340 ci: LSP reviewers #34790 2025-07-04 14:30:52 -07:00
818a2980db ci(arm64): skip installing npm to prevent segmentation faults
Installing npm on linux arm64 causes intermittent segmentation faults
for unknown reasons.

Closes https://github.com/neovim/neovim/issues/32339.
2025-02-08 14:14:42 +01:00
3702bcb139 ci(tests): add arm64 runner
Problem: Linux `aarch64`/`arm64` builds are not tested.

Solution: Add `ubuntu-arm` runners to test matrix (using
`RelWithDebInfo` build).
2025-01-24 10:34:18 +01:00
c24e6e66dd ci: remove myself from lsp reviewers 2024-11-27 13:16:06 +01:00
7d8dd8234a ci: downgrade to clang 19
Clang 20 is still in development at the time of this commit and is
unsuitable for CI.
2024-11-09 15:42:52 +01:00
f8b193a01e ci: adjust reviewers 2024-11-06 11:22:09 +01:00
3a86b60032 docs: misc
Co-authored-by: David Pedersen <limero@me.com>
Co-authored-by: Gregory Anders <greg@gpanders.com>
Co-authored-by: Leo Schlosser <Leo.Schlosser@Student.HTW-Berlin.de>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2024-10-23 14:13:42 +02:00
0c9b3ef34d ci: bump ubuntu runner version to ubuntu-24.04
Also bump clang to version 20.
2024-10-05 17:35:41 +02:00
55e4301036 feat(lsp): drop fswatch, use inotifywait (#29374)
This patch replaces fswatch with inotifywait from inotify-toools:

https://github.com/inotify-tools/inotify-tools

fswatch takes ~1min to set up recursively for the Samba source code
directory. inotifywait needs less than a second to do the same thing.

https://github.com/emcrisostomo/fswatch/issues/321

Also it fswatch seems to be unmaintained in the meantime.

Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
2024-07-06 11:44:19 +02:00
783f6079b8 ci: update labeler configuration and add reviewers 2024-05-30 20:57:14 +02:00
0e9c92a900 build: remove nix flakes (#28863)
It does not work and we don't plan on maintaining these anymore.

The flake files are being moved to
https://github.com/nix-community/neovim-nightly-overlay/pull/516
instead.
2024-05-24 01:08:36 +02:00
b83d5fabc6 ci(labeler): adjust configuration 2024-05-14 19:45:51 +02:00
36acb2a8ec ci: use --break-system-packages on mac when installing pynvim
Python 3.12+ throws an error if you try to install a package in an
externally managed environment. Using `--break-system-packages` is not
recommended for personal use, but for CI it should be fine and is
probably the most straightforward solution.
2024-03-29 17:11:29 +01:00
036f86feac ci: provide separate macos releases for intel and arm
This will immensely reduce the complexity required to support both
architectures, reduce overall lines of code and unblock follow-up
simplifications.
2024-03-24 20:58:30 +01:00
924a7ef8bb ci: don't assign reviewers for "api" and "ui" labels
The labels as they're currently defined are too broad to meaningfully
add specific reviewers for them.
2024-03-16 15:11:26 +01:00
5da0d513b9 ci: update clang version to 18
This fixes the false TSAN errors in CI.
2024-03-16 14:40:39 +01:00
4ff3217bbd feat(lsp): add fswatch watchfunc backend
Problem:
  vim._watch.watchdirs has terrible performance.

Solution:
  - On linux use fswatch as a watcher backend if available.

  - Add File watcher section to health:vim.lsp. Warn if watchfunc is
    libuv-poll.
2024-03-01 23:00:20 +00:00
01c15a30c0 ci(release): run universal_macos build on M1 (#27505)
Run the release workflow on macos-14 to use faster M1 runners.

Lock the deployment target to the oldest supported version (11.0,
due to libuv support) instead of relying on the host OS version.
2024-02-17 13:35:47 +01:00
4c91194611 build: various fixes
- Consistently use the variable CMAKE_BUILD_TYPE to select build type.
- Remove broken `doc_html` target.
- Remove swap files created by oldtest when cleaning.
- Only rerun `lintdoc` if any documentation files has changed.
2024-02-01 12:06:55 +01:00
6a4c4fa198 ci: stale bot should close the issue with "not planned"
Problem: When the stable bot automatically closes an issue, the issue
will be marked as "closed as completed". It'd be better to mark the
as "closed as not planned".

Solution: Use `state_reason: "not_planned"` from the issues REST API.

References (REST API):
https://docs.github.com/en/rest/issues/issues?apiVersion=2022-11-28#update-an-issue
2024-01-16 08:59:43 +01:00
0f22ea400c ci: disable libintl on mac release
The releases doesn't work on intel mac as libintl isn't available on the system
by default. This makes `:language` not work for the shipped macos releases,
though the reduction in build system complexity most likely outweighs that.
2023-12-26 22:46:10 +01:00
36552adb39 ci: add gpanders as reviewer for defaults and tui labels (#26567) 2023-12-13 20:06:59 -06:00
dd81e1e334 ci: refactor CI files
Mostly rename file and variable names to be more consistent. This makes
it easier to locate them in the "Actions" tab on github.
2023-12-09 14:14:38 +01:00
9706ee59d0 ci: bump actions/labeler from 4 to 5 2023-12-08 22:13:07 +01:00
8d3dbf2746 vim-patch:9.0.1791: No tests for the termdebug plugin
Problem:  No tests for the termdebug plugin
Solution: Add some simple tests for the termdebug plugin

closes: vim/vim#12927

58f39d89a8

Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-11-09 07:05:21 +08:00
92e99bb105 ci: don't install unzip
It is no longer needed now that luarocks isn't used.
2023-11-05 11:40:54 +01:00
9ad239690f ci: various fixes
- adjust reviewers
- add workflow as cache key
- install attr only when tesitng
- fix s390x workflow by checking out the merge PR instead of master
2023-11-03 22:16:45 +01:00
40bd96b6f9 ci: use clang 17 as the default clang version is too old 2023-10-09 21:52:56 +02:00
9eb5d9f13f ci: various cleanups
- add reviewers
- correct cache key
2023-10-09 20:27:48 +02:00
753adcc66c ci: fix mac release 2023-10-07 18:25:43 +02:00
f6e72c3dfe vim-patch:9.0.1962: No support for writing extended attributes
Problem:  No support for writing extended attributes
Solution: Add extended attribute support for linux

It's been a long standing issue, that if you write a file with extended
attributes and backupcopy is set to no, the file will loose the extended
attributes.

So this patch adds support for retrieving the extended attributes and
copying it to the new file. It currently only works on linux, mainly
because I don't know the different APIs for other systems (BSD, MacOSX and
Solaris).  On linux, this should be supported since Kernel 2.4 or
something, so this should be pretty safe to use now.

Enable the extended attribute support with normal builds.

I also added it explicitly to the :version output as well as make it
able to check using `:echo has("xattr")`, to have users easily check
that this is available.

In contrast to the similar support for SELINUX and SMACK support (which
also internally uses extended attributes), I have made this a FEAT_XATTR
define, instead of the similar HAVE_XATTR.

Add a test and change CI to include relevant packages so that CI can
test that extended attributes are correctly written.

closes: vim/vim#306
closes: vim/vim#13203

e085dfda5d

Co-authored-by: Christian Brabandt <cb@256bit.org>
2023-09-30 22:09:55 +08:00
b7734c4ec8 ci: remove container solution for the linux runner
This will fix the failing release job.

Ubuntu 18.04 is incompatible with checkout action version 4, which
requires glibc 2.28+. This will bump the minimum glibc version required
to use the release versions to 2.31. People requring the older releases
can find them at https://github.com/neovim/neovim-releases.
2023-09-09 10:36:42 +02:00
1cbfed03c2 ci(response): use pagination for timeline events
GitHub paginates responses with many results, which needs to be taken
into account as the number of events in an issue can be large.
2023-05-07 16:46:24 +02:00
e7da49d5bf ci: don't install unnecessary dependencies 2023-05-01 07:39:27 +02:00
933fdff466 ci: make install_deps.sh more flexible
This will allow us to use it in containers as well as specify whether we
want to install test dependencies.
2023-04-29 15:43:54 +02:00
c50cdd6270 ci: replace stale bot with custom implementation
The stale action has a bug where it won't close an issue/PR if it has
comments after the stale label.
2023-04-27 22:07:44 +02:00
6674d706d9 ci: update reviewers 2023-04-26 18:25:27 +02:00
943ac2be55 ci: reuse script to enable Developer Command Prompt 2023-04-23 16:35:49 +02:00
8994389845 ci: make all linux releases work with same glibc version 2023-04-22 22:58:14 +02:00
669030ec08 ci: remove team reviewers
Team reviewers is a nice feature that comes with a severe drawback: it
makes testing the workflows incredibly difficult as they won't work
without a similar token by the tester.
2023-04-22 13:50:27 +02:00
5d387c3388 build(ci): ensure correct headers are used on macOS
Currently, the release build picks up headers in
`/Library/Frameworks/Mono.framework/Headers`. You can verify this by
downloading the latest nightly build and checking the output of `nvim
--version`.

These headers are likely to be from a different version of `libintl` than the
one we link to. Let's avoid usage of them by setting `CMAKE_FIND_FRAMEWORK` to
`NEVER`.
2023-04-09 20:31:13 +02:00
8f1541fced ci: use a set instead of array for team reviewers
Adding the same team multiple times will fail the review job.
2023-04-07 23:00:35 +02:00
d4398f4021 ci: don't automatically enable -Werror on CI environments
This catches downstream consumers of neovim off guard when using neovim in an
esoteric environment not tested in our own CI.

Closes https://github.com/neovim/neovim/issues/22932
2023-04-07 22:31:04 +02:00
598ff4f7d1 ci: update reviewers 2023-04-02 17:37:05 +02:00
9301abdf74 ci: enable CI_BUILD automatically if environment variable CI is true (#22312)
Having to specify CI_BUILD for every CI job requires boilerplate. More
importantly, it's easy to forget to enable CI_BUILD, as seen by
8a20f9f98a. It's simpler to remember to
turn CI_BUILD off when a job errors instead of remembering that every
new job should have CI_BUILD on.
2023-02-18 17:43:39 +01:00
fbb27a101f ci: remove former dependencies that are no longer needed (#22301)
libtool, autoconf, automake and perl are no longer dependencies of
neovim and doesn't need to be installed in CI anymore. The dependencies
and the commit that removed them as dependencies are the following:

libtool: b05100a9ea
perl: 20a932cb72
autoconf+automake: e23c5fda0a
2023-02-18 00:09:51 +01:00
9de9bd4bed ci: replace cmake script with bash script (#22246)
Bash has better error handling than cmake, and seem overall slightly
more suited to scripting than cmake.
2023-02-13 18:26:01 +01:00
5d3769ea23 ci: install dependencies with a single script (#22241)
It's easier if the os-specific installations are done by the script itself
2023-02-12 22:09:10 +01:00
ee87b848a2 ci: remove reviewers from the refactor label (#22216)
Anyone can review a refactor depending on what's being refactored.
2023-02-11 10:47:10 +01:00