ci: download lua-language-server binary

This commit is contained in:
Alexander Courtis
2023-11-25 16:47:30 +11:00
parent a2902e5159
commit 78bfdf83bd

View File

@@ -2,12 +2,28 @@
# Performs a lua-language-server check on all files.
# lls-check/check.json will be produced on any issues, returning 1.
# Outputs check.json to stdout, all messages to stderr, to allow jq etc.
rm -rf lls-check
mkdir lls-check
VER_LLS="3.7.3"
OUT=$(lua-language-server --checklevel=Information --check . --logpath=lls-check --loglevel=error)
echo "${OUT}"
DIR_SRC="${PWD}"
DIR_OUT="${DIR_SRC}/lls-out"
DIR_LLS="/tmp/lls"
# clear output
rm -rf "${DIR_OUT}"
mkdir "${DIR_OUT}"
if [ ! -d "${DIR_LLS}" ]; then
# download lua-language-server binaries
mkdir -p "${DIR_LLS}"
curl -L "https://github.com/LuaLS/lua-language-server/releases/download/${VER_LLS}/lua-language-server-${VER_LLS}-linux-x64.tar.gz" | tar zx --directory "${DIR_LLS}"
fi
# execute from within the lua-language-server directory as it expects specific file locations
cd "${DIR_LLS}"
OUT=$("${DIR_LLS}/bin/lua-language-server" --checklevel=Information --check "${DIR_SRC}" --logpath="${DIR_OUT}" --loglevel=error)
echo "${OUT}" >&2
RC=$?
if [ $RC -ne 0 ]; then
@@ -15,9 +31,11 @@ if [ $RC -ne 0 ]; then
exit $RC
fi
# any output is a fail
case "${OUT}" in
*Diagnosis\ completed*)
if [ -f "lls-check/check.json" ]; then
*Diagnosis\ complete*)
if [ -f "${DIR_OUT}/check.json" ]; then
cat "${DIR_OUT}/check.json"
exit 1
else
exit 0