| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
|
|
| |
`cmake --preset ci`
is equivalent to
`cmake -B build -G Ninja -D CI_BUILD=ON`
Also remove build presets as they're not very useful without workflow
presets, which are only available in schema versions 6 and above.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
The shipped versions of xdiff already does everything diff does, so this
duplication of tools isn't necessary. Furthermore, this setup is more
consistent overall, as the 'diffopt=external' option should be for
external programs rather than programs we bundle neovim with.
Install diffutils for oldtests in CI to avoid needing to modify tests.
|
|
|
|
| |
Using print() alone doesn't work properly, toggling the verbose option
is still required.
|
| |
|
|
|
|
|
| |
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.
|
|\
| |
| | |
refactor(build): use vendored versions of mpack and luabitop
|
| | |
|
|/ |
|
|
|
| |
Also use the system luv in CI for the with-external-deps job.
|
|
|
| |
It is required by `gh pr edit`.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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`.
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Having multiple release artifacts per platform is a maintenance burden.
Furthermore, it is a maintenance burden that doesn't directly improve
the Nvim editor itself. The releases are meant to be a quick way for
users to try out and use neovim on their platform and was never intended
to be a buffet of releases for every conceivable setup.
Users are encouraged to the following replacements:
- Github action `action-setup-vim` to have neovim installed on their
PATH for their CI jobs. See https://github.com/rhysd/action-setup-vim.
- Use the appimage, either as is or by extracting it
- To use as is, run `chmod u+x nvim.appimage && ./nvim.appimage`
- If your system does not have FUSE you can extract the appimage with
`./nvim.appimage --appimage-extract && ./squashfs-root/usr/bin/nvim`
- Build it manually. See https://github.com/neovim/neovim/wiki/Building-Neovim.
Work on https://github.com/neovim/neovim/issues/22684
|
| |
|
|
|
|
|
|
| |
Bumps [actions/stale](https://github.com/actions/stale) from 7 to 8.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v7...v8)
|
| |
|
|
|
|
| |
Skip failing funcitonaltests. Use jobstart() instead termopen() for
oldtests to prevent CI freezing.
|
|
|
|
|
| |
Installing the ruby provider takes anything between 1 and 1.5 minutes on
Windows, which is a big drain on our CI. Remove it until we find a more
sustainable solution.
|
|
|
|
|
|
|
|
|
|
| |
The lua client is no longer needed after
d6279f9392073cb1422d76c57baf3fd283ed954e. One of its dependencies,
mpack, is still needed however. Remove lua-nvim and replace it with
lua-mpack.
The other packages are most likely not needed as we no longer run tests
for external dependencies.
|
|
|
|
|
|
| |
Only testing the build with external dependencies on build system
changes is too naive, as demonstrated by
b9f19d3e286d95d9209afbc479fa2eb908067fb1.
|
|
|
|
|
|
| |
If one uses .deps when DEPS_BUILD_DIR is defined in another location it
leads to very surprising behaviors, as it looks for libraries in other
places other than .deps.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently files to install in runtime/ is detected by recursive glob
pattern which has two problems:
- cmake needs to do a of work at config time and
build/runtime/cmake_install.cmake becomes HUGE (2.5MB, biggest config file)
- we need to explicitly specify each file suffix used in the entire
runtime, which is duplication of information.
These globs specify every single file in a subdirectory.
Thus, we can just install every runtime/ subdirectory as a single
install command. Furthermore, at the top-level, only .vim and .lua files
need to be installed.
Further possible refactor: we could move files which does not belong
in $PREFIX/runtime out of $REPO/runtime. Then runtime could be installed
with a single install_helper(DIRECTORY ...) command.
|
|
|
|
|
| |
The new oldtest directory is in test/old/testdir. The reason for this is
that many tests have hardcoded the parent directory name to be
'testdir'.
|
|
|
|
|
| |
There is already a superior core dump check in test/helpers.lua, which
makes this obsolete.
|
|
|
|
|
|
|
|
| |
Having separate directory location causes failures to be inconsistent
and ultimately confusing. A common problem is a file with a particular
name is searched for the entire repository, which gives different
results if the dependency directory is inside the neovim directory or
outside of it.
|
|
|
|
| |
If the configuration fails then lints shouldn't be run, as most lint
steps depends on a successful configuration.
|
|
|
|
|
|
| |
Building with Release and RelWithDebInfo build types only on build
system changes is too optimistic, as shown by
https://github.com/neovim/neovim/pull/22436 and
659234c95a23307486a4b7496f3f4391a4bdbe58.
|
| |
|
|
|
|
| |
Notable changes are performance increases for fetching repositories and
simpler workflow file.
|
| |
|
|
|
| |
Co-authored-by: Ben Morgan <cassava@iexu.de>
|
|
|
|
|
|
|
| |
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
8a20f9f98a90a7a43aea08fcde2c40a5356b4f7b. 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.
|
|
|
|
|
|
| |
Multi-config generators can be tricky so testing them would be good.
Also test GCC release and MinSizeRel build types as they're prone to
unusual warnings. Remove release testing from test.yml as this is a
sufficient replacement.
|
|
|
|
|
| |
Having a workflow that only builds neovim without running all of the
tests is a cheap way to test the build still works without burning too
much CI time.
|
|
|
|
|
|
|
|
|
| |
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: b05100a9eaad5980ea7652137bc4a1c2d15d752f
perl: 20a932cb72cf077d54e3498ef93341ffe3d4cdbb
autoconf+automake: e23c5fda0a3fe385af615372c474d4dad3b74464
|
|
|
| |
15 minutes is too short for TSAN.
|
|
|
|
|
|
|
|
| |
ci: add GCC release testing
We currently have no release testing, so it's good to check for any
unwanted behavior on release builds as well. Prefer GCC over clang, as
GCC release builds seem to create more warnings on release compared to
debug.
|
|
|
|
|
| |
Detect if on CI by checking that the CI environment variable is set to "true".
This is a common pattern among CI providers, including github actions and
cirrus.
|
|
|
|
| |
Bash has better error handling than cmake, and seem overall slightly
more suited to scripting than cmake.
|
|
|
| |
It's easier if the os-specific installations are done by the script itself
|
| |
|