mirror of
https://github.com/lunarmodules/luasocket.git
synced 2025-04-05 08:26:47 +02:00
129 lines
4.2 KiB
YAML
129 lines
4.2 KiB
YAML
name: Build
|
||
|
||
on:
|
||
push:
|
||
branches:
|
||
- master
|
||
pull_request:
|
||
|
||
jobs:
|
||
build:
|
||
name: Test ${{ matrix.luaVersion }} on ${{ matrix.platform }}
|
||
strategy:
|
||
fail-fast: false
|
||
matrix:
|
||
luaVersion: [ "5.4", "5.3", "5.2", "5.1", "luajit", "luajit-openresty" ]
|
||
platform: [ "ubuntu-22.04", "macos-11", "windows-2022" ]
|
||
runs-on: ${{ matrix.platform }}
|
||
steps:
|
||
- name: Checkout
|
||
uses: actions/checkout@v4
|
||
- name: Setup ’msvc’
|
||
if: ${{ startsWith(matrix.platform, 'windows') && !startsWith(matrix.luaVersion, 'luajit') }}
|
||
uses: ilammy/msvc-dev-cmd@v1
|
||
- name: Setup ‘lua’
|
||
uses: leso-kn/gh-actions-lua@v11-staging
|
||
with:
|
||
luaVersion: ${{ matrix.luaVersion }}
|
||
- name: Setup ‘luarocks’
|
||
uses: hishamhm/gh-actions-luarocks@master
|
||
- name: Make and install
|
||
run: |
|
||
luarocks make -- luasocket-scm-3.rockspec
|
||
env:
|
||
DEBUG: DEBUG
|
||
- name: Run regression tests
|
||
shell: bash
|
||
run: |
|
||
cd test
|
||
lua hello.lua
|
||
lua testsrvr.lua > /dev/null &
|
||
lua testclnt.lua
|
||
lua stufftest.lua
|
||
lua excepttest.lua
|
||
lua test_bind.lua
|
||
lua test_getaddrinfo.lua
|
||
lua ltn12test.lua
|
||
lua mimetest.lua
|
||
lua urltest.lua
|
||
lua test_socket_error.lua
|
||
kill %1
|
||
|
||
build-msys2:
|
||
name: Test ${{ matrix.Lua.version }} via MSYS2 package mingw-w64-${{ matrix.MSYS2.env }}-${{ matrix.Lua.msys2_pkg_name }}
|
||
runs-on: windows-2022
|
||
strategy:
|
||
matrix:
|
||
Lua:
|
||
# For future updates:
|
||
# the fields 'msys2_pkg_name' and 'msys2_lua_exe'
|
||
# in the matrix below are always 'lua'
|
||
# for the current Lua version .
|
||
- { version: '5.4', msys2_pkg_name: 'lua', msys2_lua_exe: 'lua' }
|
||
- { version: '5.3', msys2_pkg_name: 'lua53', msys2_lua_exe: 'lua5.3' }
|
||
# At the moment, Lua 5.2 is not on MSYS2 repositories.
|
||
- { version: '5.1', msys2_pkg_name: 'lua51', msys2_lua_exe: 'lua5.1' }
|
||
- { version: '5.1', msys2_pkg_name: 'luajit', msys2_lua_exe: 'luajit' }
|
||
MSYS2:
|
||
- { sys: ucrt64, env: ucrt-x86_64 }
|
||
- { sys: mingw64, env: x86_64 }
|
||
- { sys: mingw32, env: i686 }
|
||
- { sys: clang64, env: clang-x86_64 }
|
||
- { sys: clang32, env: clang-i686 }
|
||
defaults:
|
||
run:
|
||
shell: msys2 {0}
|
||
env:
|
||
LUA_EXE: /${{ matrix.MSYS2.sys }}/bin/${{ matrix.Lua.msys2_lua_exe }}
|
||
steps:
|
||
- uses: msys2/setup-msys2@v2
|
||
name: Setup MSYS2
|
||
with:
|
||
msystem: ${{ matrix.MSYS2.sys }}
|
||
install: |
|
||
base-devel
|
||
git
|
||
mingw-w64-${{ matrix.MSYS2.env }}-cc
|
||
mingw-w64-${{ matrix.MSYS2.env }}-${{ matrix.Lua.msys2_pkg_name }}
|
||
- name: Checkout
|
||
uses: actions/checkout@v4
|
||
- name: Build
|
||
if: ${{ !contains(matrix.Lua.msys2_pkg_name, 'luajit') }}
|
||
run: |
|
||
make -C src \
|
||
PLAT=msys2${{ matrix.MSYS2.sys }} \
|
||
LUAV=${{ matrix.Lua.version }} \
|
||
DEBUG=DEBUG \
|
||
all
|
||
- name: Build with luajit
|
||
if: ${{ contains(matrix.Lua.msys2_pkg_name, 'luajit') }}
|
||
run: |
|
||
make -C src \
|
||
PLAT=msys2${{ matrix.MSYS2.sys }} \
|
||
LUAV=${{ matrix.Lua.version }} \
|
||
DEBUG=DEBUG \
|
||
"MYCFLAGS=$(pkgconf.exe --cflags lua${{ matrix.Lua.version }})" \
|
||
all
|
||
- name: Install
|
||
run: |
|
||
make -C src \
|
||
PLAT=msys2${{ matrix.MSYS2.sys }} \
|
||
LUAV=${{ matrix.Lua.version }} \
|
||
DEBUG=DEBUG \
|
||
install
|
||
- name: Run regression tests
|
||
run: |
|
||
cd test
|
||
${{ env.LUA_EXE }} hello.lua
|
||
${{ env.LUA_EXE }} testsrvr.lua > /dev/null &
|
||
${{ env.LUA_EXE }} testclnt.lua
|
||
${{ env.LUA_EXE }} stufftest.lua
|
||
${{ env.LUA_EXE }} excepttest.lua
|
||
${{ env.LUA_EXE }} test_bind.lua
|
||
${{ env.LUA_EXE }} test_getaddrinfo.lua
|
||
${{ env.LUA_EXE }} ltn12test.lua
|
||
${{ env.LUA_EXE }} mimetest.lua
|
||
${{ env.LUA_EXE }} urltest.lua
|
||
${{ env.LUA_EXE }} test_socket_error.lua
|
||
kill %1
|