Use nix for testing environment
All checks were successful
NeoVim tests / code-quality (push) Successful in 1m32s

This commit is contained in:
Jonathan Apodaca 2025-05-19 16:33:40 -06:00
parent 35b6e123ac
commit d454efa555
4 changed files with 54 additions and 15 deletions

13
.busted Normal file
View File

@ -0,0 +1,13 @@
return {
_all = {
coverage = false,
lpath = "lua/?.lua;lua/?/init.lua",
lua = "nlua",
},
default = {
verbose = true
},
tests = {
verbose = true
},
}

View File

@ -2,15 +2,24 @@
name: NeoVim tests
on: [push]
jobs:
plenary-tests:
code-quality:
runs-on: ubuntu-latest
env:
XDG_CONFIG_HOME: ${{ github.workspace }}/.config/
steps:
- uses: actions/checkout@v4
- uses: rhysd/action-setup-vim@v1
- uses: cachix/install-nix-action@v31
with:
neovim: true
version: v0.11.0
arch: 'x86_64'
- run: make test
nix_path: nixpkgs=channel:nixos-unstable
- name: Type-check with lua-language-server
run:
nix-shell --run 'make lint'
- name: Check formatting with stylua
run:
nix-shell --run 'make fmt-check'
- name: Run busted tests
run:
nix-shell --run 'make test'

View File

@ -1,16 +1,14 @@
PLENARY_DIR=~/.local/share/nvim/site/pack/test/opt/plenary.nvim
all: lint test
all: lint fmt-check test
lint:
lua-language-server --check=lua/u/ --checklevel=Error
lx check
@# lx check
fmt-check:
stylua --check .
fmt:
stylua .
test: $(PLENARY_DIR)
NVIM_APPNAME=noplugstest nvim -u NORC --headless -c 'set packpath+=~/.local/share/nvim/site' -c 'packadd plenary.nvim' -c "PlenaryBustedDirectory spec/"
$(PLENARY_DIR):
git clone https://github.com/nvim-lua/plenary.nvim/ $(PLENARY_DIR)
test:
busted

19
shell.nix Normal file
View File

@ -0,0 +1,19 @@
{
pkgs ? import (fetchTarball {
url = "https://github.com/NixOS/nixpkgs/archive/nixos-unstable.tar.gz";
# neovim@0.11.1:
sha256 = "171wlwhw8sqkc6p1nzhs6rl1c4zhvlv2w4xrdp7h7sj9v6g9k8qr";
}) { },
}:
pkgs.mkShell {
packages = [
pkgs.git
pkgs.gnumake
pkgs.lua-language-server
pkgs.lua51Packages.busted
pkgs.lua51Packages.luarocks
pkgs.lua51Packages.nlua
pkgs.neovim
pkgs.stylua
];
}