Merge pull request #46 from desdic/v0.10 #348
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Tests | |
on: | |
push: | |
pull_request: | |
jobs: | |
unit_tests: | |
name: unit tests | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- os: ubuntu-24.04 | |
url: https://github.com/neovim/neovim/releases/download/nightly/nvim-linux64.tar.gz | |
manager: sudo apt-get | |
packages: -y make lua-check | |
- os: ubuntu-24.04 | |
url: https://github.com/neovim/neovim/releases/download/v0.10.0/nvim-linux64.tar.gz | |
manager: sudo apt-get | |
packages: -y make lua-check | |
steps: | |
- uses: actions/checkout@v4 | |
- run: date +%F > todays-date | |
- name: Restore from todays cache | |
uses: actions/cache@v4 | |
with: | |
path: _neovim | |
key: ${{ runner.os }}-${{ matrix.url }}-${{ hashFiles('todays-date') }} | |
- name: Install tree-sitter CLI | |
run: npm i -g tree-sitter-cli | |
- name: Prepare | |
run: | | |
${{ matrix.manager }} update | |
${{ matrix.manager }} install ${{ matrix.packages }} | |
test -d _neovim || { | |
mkdir -p _neovim | |
curl -sL ${{ matrix.url }} | tar xzf - --strip-components=1 -C "${PWD}/_neovim" | |
} | |
mkdir -p ~/.local/share/nvim/site/pack/vendor/start | |
git clone --depth 1 https://github.com/nvim-lua/plenary.nvim ~/.local/share/nvim/site/pack/vendor/start/plenary.nvim | |
git clone --depth 1 https://github.com/nvim-treesitter/nvim-treesitter.git ~/.local/share/nvim/site/pack/vendor/start/nvim-treesitter.git | |
git clone --depth 1 https://github.com/nvim-telescope/telescope.nvim.git ~/.local/share/nvim/site/pack/vendor/start/telescope.nvim.git | |
ln -s $(pwd) ~/.local/share/nvim/site/pack/vendor/start | |
- name: tree-sitter parsers | |
run: | | |
export PATH="${PWD}/_neovim/bin:${PATH}" | |
export VIM="${PWD}/_neovim/share/nvim/runtime" | |
nvim --headless -c "lua require'nvim-treesitter.install'.prefer_git=false" -c "TSInstallSync lua c cpp rust python go make yaml markdown perl glsl toml php ruby" -c "q" | |
- name: Run tests | |
run: | | |
export PATH="${PWD}/_neovim/bin:${PATH}" | |
export VIM="${PWD}/_neovim/share/nvim/runtime" | |
nvim --version | |
make test |