Skip to content

Commit 6ed0e2b

Browse files
authored
Test using a matrix of (neo)vim versions (#115)
1 parent 56d6487 commit 6ed0e2b

File tree

2 files changed

+38
-17
lines changed

2 files changed

+38
-17
lines changed

.github/workflows/ci.yml

Lines changed: 34 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,42 @@ on:
1010
- master
1111

1212
jobs:
13-
checks:
13+
lint:
1414
runs-on: ubuntu-latest
15-
1615
steps:
1716
- uses: actions/checkout@v4
18-
- name: Set up Python ${{ matrix.python-version }}
19-
uses: actions/setup-python@v5
17+
- uses: raven-actions/actionlint@v2
18+
- uses: actions/setup-python@v5
2019
with:
21-
python-version: '3.12'
2220
cache: 'pip'
23-
- name: Install vim
24-
run: |
25-
sudo add-apt-repository ppa:jonathonf/vim
26-
sudo apt install vim
27-
- name: Run lint
28-
run: |
29-
pip install -r requirements.txt
30-
make lint
31-
- name: Run tests
32-
run: make test
21+
- run: pip install -r requirements.txt
22+
- uses: rhysd/action-setup-vim@v1
23+
id: vim
24+
- run: make lint
25+
env:
26+
VIM_EXE: ${{ steps.vim.outputs.executable }}
27+
28+
test:
29+
strategy:
30+
fail-fast: false
31+
matrix:
32+
vim:
33+
- version: stable
34+
neovim: false
35+
- version: v8.2.0000
36+
neovim: false
37+
- version: stable
38+
neovim: true
39+
40+
name: "test (${{ matrix.vim.neovim && 'neovim' || 'vim' }} ${{ matrix.vim.version }})"
41+
runs-on: ubuntu-latest
42+
steps:
43+
- uses: actions/checkout@v4
44+
- uses: rhysd/action-setup-vim@v1
45+
id: vim
46+
with:
47+
neovim: ${{ matrix.vim.neovim }}
48+
version: ${{ matrix.vim.version }}
49+
- run: make test
50+
env:
51+
VIM_EXE: ${{ steps.vim.outputs.executable }}

Makefile

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
1+
VIM_EXE ?= vim
2+
13
.PHONY: lint test
24

35
all: lint test
46

57
lint: .bundle/vim-vimhelplint
68
vint -s after autoload ftdetect ftplugin indent syntax
7-
vim -esN --not-a-term --cmd 'set rtp+=.bundle/vim-vimhelplint' \
9+
$(VIM_EXE) -esN --cmd 'set rtp+=.bundle/vim-vimhelplint' \
810
-c 'filetype plugin on' \
911
-c 'e doc/graphql.txt' \
1012
-c 'verb VimhelpLintEcho' \
1113
-c q
1214

1315
test: .bundle/vader.vim .bundle/vim-javascript
14-
cd test && vim -EsNu vimrc --not-a-term -c 'Vader! * */*'
16+
cd test && $(VIM_EXE) -EsNu vimrc -c 'Vader! * */*'
1517

1618
.bundle/vader.vim:
1719
git clone --depth 1 https://github.com/junegunn/vader.vim.git .bundle/vader.vim

0 commit comments

Comments
 (0)