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
|
name: NeoVim tests
|
||||||
on: [push]
|
on: [push]
|
||||||
jobs:
|
jobs:
|
||||||
plenary-tests:
|
code-quality:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
env:
|
env:
|
||||||
XDG_CONFIG_HOME: ${{ github.workspace }}/.config/
|
XDG_CONFIG_HOME: ${{ github.workspace }}/.config/
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: rhysd/action-setup-vim@v1
|
- uses: cachix/install-nix-action@v31
|
||||||
with:
|
with:
|
||||||
neovim: true
|
nix_path: nixpkgs=channel:nixos-unstable
|
||||||
version: v0.11.0
|
|
||||||
arch: 'x86_64'
|
- name: Populate Nix store
|
||||||
- run: make test
|
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 fmt-check test
|
||||||
|
|
||||||
all: lint test
|
|
||||||
|
|
||||||
lint:
|
lint:
|
||||||
lua-language-server --check=lua/u/ --checklevel=Error
|
lua-language-server --check=lua/u/ --checklevel=Error
|
||||||
lx check
|
@# lx check
|
||||||
|
|
||||||
|
fmt-check:
|
||||||
|
stylua --check .
|
||||||
|
|
||||||
fmt:
|
fmt:
|
||||||
stylua .
|
stylua .
|
||||||
|
|
||||||
test: $(PLENARY_DIR)
|
test:
|
||||||
NVIM_APPNAME=noplugstest nvim -u NORC --headless -c 'set packpath+=~/.local/share/nvim/site' -c 'packadd plenary.nvim' -c "PlenaryBustedDirectory spec/"
|
busted
|
||||||
|
|
||||||
$(PLENARY_DIR):
|
|
||||||
git clone https://github.com/nvim-lua/plenary.nvim/ $(PLENARY_DIR)
|
|
||||||
|
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