ci: download lua-language-server binary
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user