Commit Graph

5 Commits

Author SHA1 Message Date
yetone
54ef723283 optimize: parallelize test dependencies installation 2025-08-02 17:48:47 +08:00
yetone
751d1855e7 fix: download the correct lua-language-server 2025-08-02 17:43:55 +08:00
Dmitry Torokhov
61c1bf8bfe feat(luatest): create a self-contained test runner
Adds a new scripts/run-luatest.sh script to provide a consistent,
self-contained way to run project unit tests, including locally.

The script handles:

 - Checking for necessary tools (rg, ag)
 - Cloning or updating plenary.nvim into the target/tests/deps directory

The Makefile is updated to use this new script, making make luatest the
single entry point for running unit tests.

The lua.yaml workflow is simplified to use this new make target,
ensuring the CI environment uses the exact same testing logic.
2025-08-02 17:43:55 +08:00
Dmitry Torokhov
59a518cf86 feat(typecheck): add local mode mirroring github to lua-typecheck.sh
This implements mode mirroring github workflow in scripts/lua-typecheck.sh
so that it can run locally.

A supporting script scripts/setup_deps.sh is created to define and
download/clone dependencies (plugins), as well as download luals, neovim
runtime, and create luarc.json. setup_deps.sh is now the only and
authoritative source of dependencies and luals version. Neovim version
still comes from lua.yaml.

To fetch neovim version from lua.yaml as well as figure out the right
source of neovim package, dependency on yq is introduced when running
locally in "managed" mode.

Dependencies, neovim runtime, and luals are downloaded to
target/tests subdirectory on local machine. luarc.json is created
from a template there as well.

The ability to run against the live system is preserved with "--live"
option. In this case it assumes that neovim is using lazy package
manager and optionally Mason, so if luals is not present in path the
script will try to see if it is installed by Mason.

When running in github CI neovim is set up through github action while
dependencies and luals are handled by the scripts.
2025-08-02 17:43:55 +08:00
yetone
b04bffa441 fix: types (#1344) 2025-02-22 23:24:20 +08:00