121 lines
4.1 KiB
YAML
121 lines
4.1 KiB
YAML
name: Windows
|
|
|
|
on:
|
|
- push
|
|
- pull_request
|
|
|
|
jobs:
|
|
visual-studio:
|
|
name: Visual Studio ${{ matrix.vs-version }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
vs-version:
|
|
- 2019
|
|
- 2017
|
|
include:
|
|
- cmake-architecture: x64
|
|
cmake-generator: Visual Studio 16 2019
|
|
runs-on: windows-2019
|
|
vs-version: 2019
|
|
- cmake-generator: Visual Studio 15 2017 Win64
|
|
runs-on: windows-2016
|
|
vs-version: 2017
|
|
runs-on: ${{ matrix.runs-on }}
|
|
steps:
|
|
- name: Disable crash dialog
|
|
run: |
|
|
reg add "HKCU\SOFTWARE\Microsoft\Windows\Windows Error Reporting" `
|
|
/v DontShowUI `
|
|
/t REG_DWORD `
|
|
/d 1 `
|
|
/f
|
|
- uses: actions/checkout@v2
|
|
- name: Set environment variables
|
|
run: |
|
|
Write-Output "::set-env name=CMAKE_BUILD_PARALLEL_LEVEL::${Env:NUMBER_OF_PROCESSORS}"
|
|
|
|
$VC_PREFIX = "C:\Program Files (x86)\Microsoft Visual Studio\${{ matrix.vs-version }}\Enterprise\VC"
|
|
Write-Output "::set-env name=VC_PREFIX::${VC_PREFIX}"
|
|
|
|
$INSTALL_FOLDER = "${Env:GITHUB_WORKSPACE}\install"
|
|
Write-Output "::set-env name=INSTALL_FOLDER::${INSTALL_FOLDER}"
|
|
|
|
$LUA = "${INSTALL_FOLDER}\bin\lua.exe"
|
|
Write-Output "::set-env name=LUA::${LUA}"
|
|
|
|
$LUASOCKET_ROCKSPEC = $(Get-ChildItem rockspec -Exclude "*scm*").FullName
|
|
Write-Output "::set-env name=LUASOCKET_ROCKSPEC::${LUASOCKET_ROCKSPEC}"
|
|
- name: Install Lua
|
|
shell: cmd
|
|
run: |
|
|
call "%VC_PREFIX%\Auxiliary\Build\vcvarsall.bat" x64
|
|
mkdir lua-build
|
|
set CMAKE_ARGS=-S ci\lua
|
|
set CMAKE_ARGS=%CMAKE_ARGS% -B lua-build
|
|
if not "${{ matrix.cmake-architecture }}" == "" (
|
|
set CMAKE_ARGS=%CMAKE_ARGS% -A ${{ matrix.cmake-architecture }}
|
|
)
|
|
set CMAKE_ARGS=%CMAKE_ARGS% -G "${{ matrix.cmake-generator }}"
|
|
set CMAKE_ARGS=%CMAKE_ARGS% "-DCMAKE_INSTALL_PREFIX=%INSTALL_FOLDER%"
|
|
cmake %CMAKE_ARGS%
|
|
cmake --build lua-build --config RelWithDebInfo
|
|
cmake --build lua-build --config RelWithDebInfo --target Install
|
|
- name: Install LuaRocks
|
|
run: |
|
|
$LUAROCKS_VERSION = "3.3.1"
|
|
$LUAROCKS_ARCHIVE_BASE = "luarocks-${LUAROCKS_VERSION}-windows-64"
|
|
Invoke-WebRequest `
|
|
-Uri "http://luarocks.github.io/luarocks/releases/${LUAROCKS_ARCHIVE_BASE}.zip" `
|
|
-OutFile "${LUAROCKS_ARCHIVE_BASE}.zip"
|
|
Expand-Archive `
|
|
-DestinationPath . `
|
|
"${LUAROCKS_ARCHIVE_BASE}.zip"
|
|
|
|
$LUAROCKS = "${Env:GITHUB_WORKSPACE}\${LUAROCKS_ARCHIVE_BASE}\luarocks.exe"
|
|
Write-Output "::set-env name=LUAROCKS::${LUAROCKS}"
|
|
- name: Prepare LuaRocks
|
|
shell: cmd
|
|
run: |
|
|
call "%VC_PREFIX%\Auxiliary\Build\vcvarsall.bat" x64
|
|
%LUAROCKS% --lua-dir %INSTALL_FOLDER% path > luarocks.path.bat
|
|
- name: Install LuaSocket
|
|
shell: cmd
|
|
run: |
|
|
call "%VC_PREFIX%\Auxiliary\Build\vcvarsall.bat" x64
|
|
%LUAROCKS% --lua-dir %INSTALL_FOLDER% make %LUASOCKET_ROCKSPEC%
|
|
- name: Test LuaSocket
|
|
shell: cmd
|
|
run: |
|
|
call "%VC_PREFIX%\Auxiliary\Build\vcvarsall.bat" x64
|
|
call luarocks.path.bat
|
|
cd test
|
|
%LUA% hello.lua
|
|
|
|
mingw:
|
|
name: MinGW
|
|
runs-on: windows-2019
|
|
steps:
|
|
- name: Disable crash dialog
|
|
run: |
|
|
reg add "HKCU\SOFTWARE\Microsoft\Windows\Windows Error Reporting" `
|
|
/v DontShowUI `
|
|
/t REG_DWORD `
|
|
/d 1 `
|
|
/f
|
|
- uses: actions/checkout@v2
|
|
- uses: msys2/setup-msys2@v2
|
|
with:
|
|
install: >-
|
|
mingw-w64-x86_64-gcc
|
|
mingw-w64-x86_64-lua51-luarocks
|
|
- name: Install LuaSocket
|
|
shell: msys2 {0}
|
|
run: |
|
|
rm rockspec/*-scm-*.rockspec || :
|
|
luarocks make rockspec/*.rockspec
|
|
- name: Test LuaSocket
|
|
shell: msys2 {0}
|
|
run: |
|
|
cd test
|
|
lua5.1.exe hello.lua
|