Version 0.2.1 #35
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: | |
push: | |
branches: | |
- master | |
name: nightly-ci | |
jobs: | |
# Disabled for now, because validate-lua consumes memory too much | |
validate-linux: | |
name: validate (Linux) | |
if: ${{ false }} | |
runs-on: ubuntu-20.04 # 22.04 doesn't contain mlton | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install mlton lua5.3 liblua5.3-dev luajit libluajit-5.1-dev | |
- name: Install LuaFileSystem | |
run: | | |
curl -LO "https://github.com/lunarmodules/luafilesystem/archive/refs/tags/v1_8_0.tar.gz" | |
tar xf v1_8_0.tar.gz | |
cd luafilesystem-1_8_0 | |
make LUA_VERSION=5.3 | |
sudo make LUA_VERSION=5.3 install | |
make clean | |
make LUA_VERSION=5.1 LUA_INC=-I/usr/include/luajit-2.1 | |
sudo make LUA_VERSION=5.1 LUA_INC=-I/usr/include/luajit-2.1 install | |
- name: Build | |
run: make | |
- name: Test (Lua) | |
run: make test | |
- name: Test (LuaJIT) | |
run: make test-luajit | |
env: | |
# LuaJIT: Workaround https://github.com/LuaJIT/LuaJIT/issues/859 | |
LUA_INIT: "local c=math.ceil;math.ceil=function(x)if-1<x and x<0 then return 0/(-1)else return c(x)end end" | |
- name: Test (JS) | |
run: make test-nodejs | |
- name: Test (JS-CPS) | |
run: make test-nodejs-cps | |
- name: Test (Lua-continuations) | |
run: make test-lua-continuations | |
- name: Prepare third-party libraries | |
run: make -C thirdparty install | |
- name: Compile myself and validate (Lua) | |
run: make validate-lua | |
- name: Compile myself and validate(LuaJIT) | |
run: make validate-luajit | |
env: | |
# LuaJIT: Workaround https://github.com/LuaJIT/LuaJIT/issues/859 | |
LUA_INIT: "local c=math.ceil;math.ceil=function(x)if-1<x and x<0 then return 0/(-1)else return c(x)end end" | |
- name: Compile myself and validate (JavaScript) | |
run: make validate-js | |
# Disabled for now, because validate-lua consumes memory too much | |
validate-macos: | |
name: validate (macOS) | |
if: ${{ false }} | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: | | |
brew update | |
brew install mlton [email protected] luajit | |
- name: Install LuaFileSystem | |
run: | | |
curl -LO "https://github.com/lunarmodules/luafilesystem/archive/refs/tags/v1_8_0.tar.gz" | |
tar xf v1_8_0.tar.gz | |
cd luafilesystem-1_8_0 | |
make LUA_VERSION=5.3 LUA_INC=-I/usr/local/opt/[email protected]/include/lua LIB_OPTION="-bundle -undefined dynamic_lookup" | |
sudo make LUA_VERSION=5.3 install | |
make clean | |
make LUA_VERSION=5.1 LUA_INC=-I/usr/local/include/luajit-2.1 LIB_OPTION="-bundle -undefined dynamic_lookup" | |
sudo make LUA_VERSION=5.1 install | |
- name: Build | |
run: make LUA=/usr/local/opt/[email protected]/bin/lua | |
- name: Test (Lua) | |
run: make test LUA=/usr/local/opt/[email protected]/bin/lua | |
- name: Test (LuaJIT) | |
run: make test-luajit LUA=/usr/local/opt/[email protected]/bin/lua | |
# ^ Homebrew's LuaJIT is recent enough so https://github.com/LuaJIT/LuaJIT/issues/859 is fixed | |
- name: Test (JS) | |
run: make test-nodejs LUA=/usr/local/opt/[email protected]/bin/lua | |
- name: Test (JS-CPS) | |
run: make test-nodejs-cps LUA=/usr/local/opt/[email protected]/bin/lua | |
- name: Test (Lua-continuations) | |
run: make test-lua-continuations LUA=/usr/local/opt/[email protected]/bin/lua | |
- name: Prepare third-party libraries | |
run: make -C thirdparty install LUA=/usr/local/opt/[email protected]/bin/lua | |
- name: Compile myself and validate (JavaScript) | |
run: make validate-js LUA=/usr/local/opt/[email protected]/bin/lua | |
# - name: Compile myself and validate (LuaJIT) | |
# run: make validate-luajit LUA=/usr/local/opt/[email protected]/bin/lua | |
# # ^ Homebrew's LuaJIT is recent enough so https://github.com/LuaJIT/LuaJIT/issues/859 is fixed | |
- name: Compile myself and validate (Lua) | |
run: make validate-lua LUA=/usr/local/opt/[email protected]/bin/lua |