Commit Graph

11 Commits

Author SHA1 Message Date
dundargoc
5aaed9cbfc ci: test build with external dependencies on every pull request
Only testing the build with external dependencies on build system
changes is too naive, as demonstrated by
b9f19d3e28.
2023-03-11 09:38:29 +01:00
dundargoc
6cd7b5eeef ci: remove environment variable DEPS_BUILD_DIR from CI
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.
2023-03-11 09:38:29 +01:00
bfredl
30632dd21a refactor(build): make installation of runtime/ more effective
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.
2023-03-07 20:16:52 +01:00
dundargoc
af23d17388
test: move oldtests to test directory (#22536)
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'.
2023-03-07 11:13:04 +08:00
dundargoc
d877aa32f2 ci: remove core dump checking from test.yml
There is already a superior core dump check in test/helpers.lua, which
makes this obsolete.
2023-03-05 14:52:05 +01:00
dundargoc
98876db155 ci: use the same deps directory location for all jobs
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.
2023-03-05 14:52:05 +01:00
dundargoc
3683d6b7a8
ci: move configuring cmake to the build part of the CI
If the configuration fails then lints shouldn't be run, as most lint
steps depends on a successful configuration.
2023-03-04 17:55:42 +01:00
dundargoc
521034edef
ci: build all build types on each PR (#22441)
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
659234c95a.
2023-02-27 22:47:34 +01:00
dundargoc
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
dundargoc
6ed5a9ab8c
build: test multi-config generator (#22310)
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.
2023-02-18 16:54:19 +01:00
dundargoc
fc8c77a69f
ci: split ci.yml into a test workflow and a build test workflow (#22302)
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.
2023-02-18 10:47:22 +01:00