Skip to content

Commit 865bf82

Browse files
Switch CI from luau-analyze to luau-lsp analyze
luau-analyze only supports boolean fflags, silently ignoring int flags like LuauTarjanChildLimit. luau-lsp applies the same required flags as the VS Code extension (LuauTarjanChildLimit, etc.) via applyRequiredFlags().
1 parent ac6c19c commit 865bf82

File tree

1 file changed

+20
-39
lines changed

1 file changed

+20
-39
lines changed

.github/workflows/ci.yml

Lines changed: 20 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -16,60 +16,41 @@ jobs:
1616
with:
1717
fetch-depth: 0
1818

19-
- name: Get Luau Version
19+
- name: Get Luau LSP Version
2020
id: get_latest
2121
run: |
22-
LATEST_TAG=$(curl -s https://api.github.com/repositories/148821256/releases/latest | jq -r '.tag_name')
22+
LATEST_TAG=$(curl -s https://api.github.com/repos/JohnnyMorganz/luau-lsp/releases/latest | jq -r '.tag_name')
2323
echo "LATEST_TAG=$LATEST_TAG" >> $GITHUB_ENV
2424
25-
- name: Luau Cache Restore
26-
id: cache-luau
25+
- name: Luau LSP Cache Restore
26+
id: cache-luau-lsp
2727
uses: actions/cache/restore@v5
2828
with:
29-
path: luau-binaries
30-
key: luau-${{ env.LATEST_TAG }}
31-
restore-keys: luau-
29+
path: luau-lsp-bin
30+
key: luau-lsp-${{ env.LATEST_TAG }}
3231

33-
- name: Debug cache hit
34-
run: echo "Cache hit? ${{ steps.cache-luau.outputs.cache-hit }}"
32+
- name: Setup Luau LSP (If Cached)
33+
if: steps.cache-luau-lsp.outputs.cache-hit == 'true'
34+
run: sudo cp luau-lsp-bin/luau-lsp /usr/local/bin/luau-lsp
3535

36-
- name: Setup Luau (If Cached)
37-
if: steps.cache-luau.outputs.cache-hit == 'true'
36+
- name: Setup Luau LSP (If Not Cached)
37+
if: steps.cache-luau-lsp.outputs.cache-hit != 'true'
3838
run: |
39-
echo "Luau cache hit, copying binaries"
40-
ls luau-binaries
41-
sudo cp luau-binaries/luau /usr/local/bin/luau
42-
sudo cp luau-binaries/luau-analyze /usr/local/bin/luau-analyze
43-
sudo cp luau-binaries/luau-ast /usr/local/bin/luau-ast
44-
sudo cp luau-binaries/luau-compile /usr/local/bin/luau-compile
39+
mkdir -p luau-lsp-bin
40+
curl -L -o luau-lsp-bin/luau-lsp.zip https://github.com/JohnnyMorganz/luau-lsp/releases/download/${{ env.LATEST_TAG }}/luau-lsp-linux-x86_64.zip
41+
unzip luau-lsp-bin/luau-lsp.zip -d luau-lsp-bin/
42+
chmod +x luau-lsp-bin/luau-lsp
43+
sudo cp luau-lsp-bin/luau-lsp /usr/local/bin/luau-lsp
4544
46-
- name: Setup Luau (If Not Cached)
47-
if: steps.cache-luau.outputs.cache-hit != 'true'
48-
run: |
49-
echo "Downloading Luau version ${{ env.LATEST_TAG }}"
50-
mkdir -p luau-binaries
51-
curl -L -o luau-binaries/luau-ubuntu.zip https://github.com/luau-lang/luau/releases/download/${{ env.LATEST_TAG }}/luau-ubuntu.zip
52-
unzip luau-binaries/luau-ubuntu.zip -d luau-binaries/
53-
chmod +x luau-binaries/luau luau-binaries/luau-analyze luau-binaries/luau-ast luau-binaries/luau-compile
54-
sudo cp luau-binaries/luau /usr/local/bin/luau
55-
sudo cp luau-binaries/luau-analyze /usr/local/bin/luau-analyze
56-
sudo cp luau-binaries/luau-ast /usr/local/bin/luau-ast
57-
sudo cp luau-binaries/luau-compile /usr/local/bin/luau-compile
58-
59-
- name: Luau Cache Save
45+
- name: Luau LSP Cache Save
6046
if: always()
6147
uses: actions/cache/save@v5
6248
with:
63-
path: luau-binaries
64-
key: luau-${{ env.LATEST_TAG }}
49+
path: luau-lsp-bin
50+
key: luau-lsp-${{ env.LATEST_TAG }}
6551

6652
- name: Run Tests
6753
run: |
6854
perl -pi -e 's/require\("\@self"\)/require\("\.\/"\)/g' src/init.test.luau
69-
output=$(luau-analyze src/init.test.luau --fflags=LuauSolverV2,true,LuauTarjanChildLimit,15000,LuauTableTypeMaximumStringifierLength,0,LuauQueryLocalFunctionBinding,true,LuauToStringDecomposition,true)
70-
if [ -n "$output" ]; then
71-
echo "$output"
72-
echo "luau-analyze found issues!"
73-
exit 1
74-
fi
55+
luau-lsp analyze --flag LuauSolverV2=true src/init.test.luau
7556

0 commit comments

Comments
 (0)