Skip to content

feat: add custom tools config (#1461) #692

feat: add custom tools config (#1461)

feat: add custom tools config (#1461) #692

Workflow file for this run

name: Lua CI
on:
push:
branches:
- main
paths:
- "**/*.lua"
- ".github/workflows/lua.yaml"
pull_request:
branches:
- main
paths:
- "**/*.lua"
- ".github/workflows/lua.yaml"
jobs:
# reference from: https://github.com/nvim-lua/plenary.nvim/blob/2d9b06177a975543726ce5c73fca176cedbffe9d/.github/workflows/default.yml#L6C3-L43C20
run_tests:
name: unit tests
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-22.04
rev: v0.10.0/nvim-linux64.tar.gz
steps:
- uses: actions/checkout@v3
- run: date +%F > todays-date
- name: Restore cache for today's nightly.
uses: actions/cache@v3
with:
path: _neovim
key: ${{ runner.os }}-${{ matrix.rev }}-${{ hashFiles('todays-date') }}
- name: Prepare
run: |
test -d _neovim || {
mkdir -p _neovim
curl -sL "https://github.com/neovim/neovim/releases/download/${{ matrix.rev }}" | tar xzf - --strip-components=1 -C "${PWD}/_neovim"
}
sudo apt-get update
sudo apt-get install -y ripgrep
sudo apt-get install -y silversearcher-ag
- name: Run tests
run: |
export PATH="${PWD}/_neovim/bin:${PATH}"
export VIM="${PWD}/_neovim/share/nvim/runtime"
# install nvim-lua/plenary.nvim
git clone --depth 1 https://github.com/nvim-lua/plenary.nvim ~/.local/share/nvim/site/pack/vendor/start/plenary.nvim
nvim --version
make luatest
stylua:
name: Check Lua style
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # ratchet:actions/checkout@v4
- name: Install stylua
uses: baptiste0928/cargo-install@v3
with:
crate: stylua
features: lua54
- run: stylua --version
- run: stylua --color always --check ./lua/ ./plugin/ ./tests/
luacheck:
name: Lint Lua
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # ratchet:actions/checkout@v4
- name: Luacheck linter
uses: lunarmodules/luacheck@cc089e3f65acdd1ef8716cc73a3eca24a6b845e4 # ratchet:lunarmodules/luacheck@v1
with:
args: ./lua/
typecheck:
name: Typecheck
runs-on: ubuntu-latest
strategy:
matrix:
nvim_version: [ stable ]
luals_version: [ 3.13.6 ]
steps:
- name: Checkout Code
uses: actions/checkout@v3
- uses: rhysd/action-setup-vim@v1
with:
neovim: true
version: ${{ matrix.nvim_version }}
- name: Install luals
run: |
mkdir -p luals
curl -L "https://github.com/LuaLS/lua-language-server/releases/download/${{ matrix.luals_version }}/lua-language-server-${{ matrix.luals_version }}-linux-x64.tar.gz" | tar zx --directory luals
- run: echo "luals/bin" >> "$GITHUB_PATH"
- name: Checkout dependencies
run: |
mkdir -p deps
DEPS=(
"folke/neodev.nvim"
"nvim-treesitter/nvim-treesitter"
"stevearc/dressing.nvim"
"nvim-lua/plenary.nvim"
"MunifTanjim/nui.nvim"
"echasnovski/mini.nvim"
"nvim-telescope/telescope.nvim"
"hrsh7th/nvim-cmp"
"ibhagwan/fzf-lua"
"nvim-tree/nvim-web-devicons"
"zbirenbaum/copilot.lua"
"Bilal2453/luvit-meta"
"folke/lazy.nvim"
)
for dep in "${DEPS[@]}"; do
repo_name=$(echo $dep | cut -d'/' -f2)
git clone --depth 1 "https://github.com/${dep}.git" "deps/${repo_name}"
done
- name: Typecheck
env:
VIMRUNTIME: /home/runner/nvim-${{ matrix.nvim_version }}/share/nvim/runtime
DEPS_PATH: /home/runner/work/avante.nvim/avante.nvim/deps/
run: |
make lua-typecheck