Skip to content

Multi-value return for primitive operations #30

Multi-value return for primitive operations

Multi-value return for primitive operations #30

Workflow file for this run

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 lua@5.3 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/lua@5.3/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/lua@5.3/bin/lua
- name: Test (Lua)
run: make test LUA=/usr/local/opt/lua@5.3/bin/lua
- name: Test (LuaJIT)
run: make test-luajit LUA=/usr/local/opt/lua@5.3/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/lua@5.3/bin/lua
- name: Test (JS-CPS)
run: make test-nodejs-cps LUA=/usr/local/opt/lua@5.3/bin/lua
- name: Test (Lua-continuations)
run: make test-lua-continuations LUA=/usr/local/opt/lua@5.3/bin/lua
- name: Prepare third-party libraries
run: make -C thirdparty install LUA=/usr/local/opt/lua@5.3/bin/lua
- name: Compile myself and validate (JavaScript)
run: make validate-js LUA=/usr/local/opt/lua@5.3/bin/lua
# - name: Compile myself and validate (LuaJIT)
# run: make validate-luajit LUA=/usr/local/opt/lua@5.3/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/lua@5.3/bin/lua