nvim-plugin-template
nvim-plugin-template copied to clipboard
feature: Consider adding `asdf` for Neovim version matrix testing in CI
Did you check the docs?
- [X] I have read all the docs
Is your feature request related to a problem? Please describe.
I like this template and use it for my plugins. It'd be nice if the default CI tests against several neovim versions at the same time, especially since so much API things change in Neovim's nightly version and between minor versions (though we haven't gotten a new Neovim minor in a while). The template does stable and nightly but it'd be good to be able to attribute "this plugin works for X.Y specific Neovim versions" and have the CI directly reflect that.
Describe the solution you'd like
Add Neovim version matrix testing. It doesn't have to be asdf but I found a guide that could be useful - https://www.petergundel.de/asdf/ci/github%20actions/matrix%20testing/neovim/2023/11/11/leveraging-asdf-in-github-actions-ci-for-matrix-testing.html
Describe alternatives you've considered
n/a. Maybe https://github.com/MordechaiHadad/bob is possible for neovim installs. Not sure
Additional context
No response
Read through rhysd/action-setup-vim again. Actually that one is generally better. But I think this template should include multiple OSes like this workflow https://github.com/ColinKennedy/spellbound.nvim/blob/main/.github/workflows/test.yml
---
on: [pull_request]
name: test
jobs:
test:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
neovim: [v0.10.0, nightly]
runs-on: ${{ matrix.os }}
name: "OS: ${{ matrix.os }} - Neovim: ${{ matrix.neovim }}"
steps:
- name: Checkout spellbound.nvim
uses: actions/checkout@v4
with:
repository: ColinKennedy/spellbound.nvim
path: spellbound.nvim
- uses: rhysd/action-setup-vim@v1
with:
neovim: true
version: ${{ matrix.neovim }}
- name: Run tests
working-directory: ./spellbound.nvim
run: |
nvim --version
make test
https://github.com/ellisonleao/nvim-plugin-template/commit/f47d513d1c2f7650ddcf971925721c38657b3e47