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

This commit is contained in:
Jonathan Apodaca 2025-05-19 16:33:40 -06:00
parent 35b6e123ac
commit d42c55cfea
8 changed files with 58 additions and 76 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,28 @@
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: Populate Nix store
run:
nix-shell --run 'true'
- 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'

2
.gitignore vendored
View File

@ -1,4 +1,2 @@
/.lux/
lux.lock
*.src.rock
*.aider*

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

View File

@ -1,19 +0,0 @@
package = "u.nvim"
version = "0.2.0"
lua = ">=5.1"
[description]
summary = ""
maintainer = "jrop"
labels = [ "library", "neovim", "neovim-plugin", "range", "utility" ]
[dependencies]
# Add your dependencies here
# `busted = ">=2.0"`
[run]
args = [ "src/main.lua" ]
[build]
type = "builtin"

View File

@ -1,4 +0,0 @@
std = "vim"
[lints]
multiple_statements = "allow"

19
shell.nix Normal file
View File

@ -0,0 +1,19 @@
{
pkgs ?
import
# neovim@0.11.1: https://history.nix-packages.com/package/neovim/0.11.1
(fetchTarball "https://github.com/nixos/nixpkgs/tarball/e73c3bf29132da092f9c819b97b6e214367eb71f")
{ },
}:
pkgs.mkShell {
packages = [
pkgs.git
pkgs.gnumake
pkgs.lua-language-server
pkgs.lua51Packages.busted
pkgs.lua51Packages.luarocks
pkgs.lua51Packages.nlua
pkgs.neovim
pkgs.stylua
];
}

36
vim.yml
View File

@ -1,36 +0,0 @@
---
base: lua51
globals:
vim:
any: true
assert.are.same:
args:
- type: any
- type: any
assert.are_not.same:
args:
- type: any
- type: any
assert.has.error:
args:
- type: any
- type: any
assert.is_true:
args:
- type: any
- type: any
assert.is_false:
args:
- type: any
- type: any
describe:
args:
- type: string
- type: function
it:
args:
- type: string
- type: function
before_each:
args:
- type: function