77 runs-on : " windows-latest"
88 strategy :
99 matrix :
10- compiler : ["LLVM", "MinGW"]
10+ compiler : ["LLVM", "MinGW", "MSVC" ]
1111 steps :
12- - uses : " actions/checkout@v3 "
12+ - uses : " actions/checkout@v4 "
1313 - name : " Install Dependencies"
1414 run : " choco install -y cmake ninja"
1515 - name : " Build LuaJIT"
@@ -21,27 +21,39 @@ jobs:
2121 uses : " egor-tensin/setup-clang@v1"
2222 - name : " Set up MinGW"
2323 if : " ${{ matrix.compiler == 'MinGW' }}"
24- uses : " egor-tensin /setup-mingw@v2 "
24+ uses : " e-t-l /setup-mingw@patch-1 "
2525 with :
2626 platform : " x64"
2727 - name : " Set up MSVC"
2828 if : " ${{ matrix.compiler == 'MSVC' }}"
29- uses : " seanmiddleditch /gha-setup-vsdevenv@master "
30- - name : " Build Project"
29+ uses : " compnerd /gha-setup-vsdevenv@main "
30+ - name : " Configure Project"
3131 run : |
3232 New-Item -Path "LuaRocks\tree\luaRocksConfig.lua" -ItemType File
3333
3434 $env:LUAROCKS_TREE=$(Resolve-Path LuaRocks\tree)
3535 $env:LUAROCKS_LUADIR=$(Resolve-Path LuaJIT\)
3636 $env:LUAROCKS_CONFIG="$(Resolve-Path LuaRocks\tree\luaRocksConfig.lua)"
3737
38- LuaRocks\luarocks.exe --lua-dir "$($env:LUAROCKS_LUADIR)" --tree "$($env:LUAROCKS_TREE)" config variables.LUA_LIBDIR "$(Resolve-Path LuaJIT\bin\)"
39-
40- if (("${{ matrix.compiler }}" -eq "MinGW") -or ("${{ matrix.compiler }}" -eq "MSVC")) {
38+ if (("${{ matrix.compiler }}" -eq "MinGW")) {
4139 LuaRocks\luarocks.exe --lua-dir "$($env:LUAROCKS_LUADIR)" --tree "$($env:LUAROCKS_TREE)" config variables.LINK_FLAGS "$(Resolve-Path LuaJIT\bin\lua51.dll)"
4240 }
4341
44- LuaRocks\luarocks.exe --lua-dir "$($env:LUAROCKS_LUADIR)" --tree "$($env:LUAROCKS_TREE)" config cmake_generator "Ninja Multi-Config"
42+ if (("${{ matrix.compiler }}" -eq "MSVC")) {
43+ Copy-Item "$(Resolve-Path libs\lua51.lib)" -Destination "$(Resolve-Path LuaJIT\bin)"
44+
45+ LuaRocks\luarocks.exe --lua-dir "$($env:LUAROCKS_LUADIR)" --tree "$($env:LUAROCKS_TREE)" config "variables.LUA_LIBDIR" "$(Resolve-Path LuaJIT\bin\)"
46+ LuaRocks\luarocks.exe --lua-dir "$($env:LUAROCKS_LUADIR)" --tree "$($env:LUAROCKS_TREE)" config cmake_generator "Visual Studio 17 2022"
47+ } else {
48+ LuaRocks\luarocks.exe --lua-dir "$($env:LUAROCKS_LUADIR)" --tree "$($env:LUAROCKS_TREE)" config "variables.LUA_LIBDIR" "$(Resolve-Path LuaJIT\bin)"
49+ LuaRocks\luarocks.exe --lua-dir "$($env:LUAROCKS_LUADIR)" --tree "$($env:LUAROCKS_TREE)" config cmake_generator "Ninja Multi-Config"
50+ }
51+ - name : " Build Project"
52+ run : |
53+ $env:LUAROCKS_TREE=$(Resolve-Path LuaRocks\tree)
54+ $env:LUAROCKS_LUADIR=$(Resolve-Path LuaJIT\)
55+ $env:LUAROCKS_CONFIG="$(Resolve-Path LuaRocks\tree\luaRocksConfig.lua)"
56+
4557 LuaRocks\luarocks.exe --lua-dir "$($env:LUAROCKS_LUADIR)" --tree "$($env:LUAROCKS_TREE)" make
4658 - name : " Run Tests"
4759 run : |
5163 $env:LUAROCKS_CONFIG="$(Resolve-Path LuaRocks\tree\luaRocksConfig.lua)"
5264 $env:LUA_CPATH="$(Resolve-Path LuaRocks\tree\lib\lua\5.1\)?.dll"
5365 $env:LUA_PATH="$(Resolve-Path LuaRocks\tree\share\lua\5.1\)?.lua;$($pwd.Path)\?.lua"
66+
5467 LuaRocks\luarocks.exe --lua-dir "$($env:LUAROCKS_LUADIR)" --tree "$($env:LUAROCKS_TREE)" install luaunit
5568
56- LuaJIT\bin\luajit.exe tests\tests.lua
69+ if (("${{ matrix.compiler }}" -ne "MSVC")) {
70+ LuaJIT\bin\luajit.exe tests\tests.lua
71+ }
0 commit comments