diff --git a/.github/workflows/luacheck.yml b/.github/workflows/luacheck.yml index 4421a7e0320..2c6c226cc30 100644 --- a/.github/workflows/luacheck.yml +++ b/.github/workflows/luacheck.yml @@ -65,3 +65,23 @@ jobs: report_paths: 'busted.xml' check_name: 'Lua Test Report' annotate_only: ${{ (github.event.pull_request.head.repo.full_name != github.repository) }} + + luals-code-style: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Setup LuaLS + run: | + mkdir -p ~/.local/bin/luals + curl -L https://github.com/LuaLS/lua-language-server/releases/download/3.17.1/lua-language-server-3.17.1-linux-x64.tar.gz | tar -xzv -C ~/.local/bin/luals + + - name: Check + shell: bash + run: | + ~/.local/bin/luals/bin/lua-language-server --check ./ | tee luals-check && true + cat luals-check | (sed -e 's/\x1b\[[0-9;]*m//g'| sed -n 's/\(lua[^:]\+\):\([[:digit:]]*\):[[:digit:]]* \[Warning\] /::warning file=\1,line=\2::/p') + echo "| | Files | Warnings |" >> $GITHUB_STEP_SUMMARY + echo "|-|-------|----------|" >> $GITHUB_STEP_SUMMARY + echo "| LuaLS check | $(find lua -name '*.lua' | wc -l) | $(cat luals-check | grep 'Warning' | wc -l) |" >> $GITHUB_STEP_SUMMARY