Use nix for testing environment
All checks were successful
NeoVim tests / code-quality (push) Successful in 1m28s
All checks were successful
NeoVim tests / code-quality (push) Successful in 1m28s
This commit is contained in:
parent
35b6e123ac
commit
9d525c6786
13
.busted
Normal file
13
.busted
Normal file
@ -0,0 +1,13 @@
|
||||
return {
|
||||
_all = {
|
||||
coverage = false,
|
||||
lpath = "lua/?.lua;lua/?/init.lua",
|
||||
lua = "nlua",
|
||||
},
|
||||
default = {
|
||||
verbose = true
|
||||
},
|
||||
tests = {
|
||||
verbose = true
|
||||
},
|
||||
}
|
25
.github/workflows/ci.yaml
vendored
25
.github/workflows/ci.yaml
vendored
@ -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'
|
||||
|
16
Makefile
16
Makefile
@ -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
19
shell.nix
Normal 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
|
||||
];
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user