36 lines
1.5 KiB
YAML
36 lines
1.5 KiB
YAML
name: Pull Request Checks
|
|
on:
|
|
pull_request:
|
|
branches: [main]
|
|
jobs:
|
|
checks:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v7
|
|
- name: Install stylua
|
|
run: |
|
|
curl -L -o stylua.zip https://github.com/JohnnyMorganz/StyLua/releases/latest/download/stylua-linux-x86_64.zip
|
|
unzip -o stylua.zip
|
|
chmod +x stylua
|
|
mv stylua /usr/local/bin/
|
|
- name: Install lua-language-server
|
|
run: |
|
|
LUA_LS_URL=$(curl -s https://api.github.com/repos/LuaLS/lua-language-server/releases/latest \
|
|
| grep '"browser_download_url".*linux-x64' \
|
|
| sed 's/.*"\(.*\)".*/\1/')
|
|
curl -L -o /tmp/lua-ls.tar.gz "$LUA_LS_URL"
|
|
mkdir -p /usr/local/lib/lua-language-server
|
|
tar -xzf /tmp/lua-ls.tar.gz -C /usr/local/lib/lua-language-server
|
|
ln -s /usr/local/lib/lua-language-server/bin/lua-language-server /usr/local/bin/lua-language-server
|
|
- name: Install neovim
|
|
run: |
|
|
curl -L -o /tmp/nvim.tar.gz https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.tar.gz
|
|
tar -xzf /tmp/nvim.tar.gz -C /usr/local --strip-components=1
|
|
- name: Format check
|
|
run: stylua --check .
|
|
- name: Lint
|
|
run: lua-language-server --check=.
|
|
- name: Test
|
|
run: nvim --headless -c "PlenaryBustedDirectory tests/watchexec/ {minimal_init = 'tests/minimal_init.lua'}" -c "q"
|