aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compat53/.github
diff options
context:
space:
mode:
Diffstat (limited to 'lib/compat53/.github')
-rw-r--r--lib/compat53/.github/workflows/bit32-multi-arch-tests.yml52
-rw-r--r--lib/compat53/.github/workflows/compat53-tests.yml69
2 files changed, 121 insertions, 0 deletions
diff --git a/lib/compat53/.github/workflows/bit32-multi-arch-tests.yml b/lib/compat53/.github/workflows/bit32-multi-arch-tests.yml
new file mode 100644
index 0000000..aff29db
--- /dev/null
+++ b/lib/compat53/.github/workflows/bit32-multi-arch-tests.yml
@@ -0,0 +1,52 @@
+name: bit32-multi-arch-tests
+on:
+ push:
+ branches: ["master"]
+ pull_request:
+jobs:
+ bit32-test:
+ runs-on: ubuntu-latest
+ name: bit32 tests on ${{ matrix.luaVersion }} ${{ matrix.arch }}
+ strategy:
+ fail-fast: false
+ matrix:
+ luaVersion: ["5.1.5", "5.4.1"]
+ luaRocksVersion: ["3.3.1"]
+ arch: ["armv7", "aarch64"]
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions/cache@v2
+ id: lua-cache
+ with:
+ path: .install/${{ matrix.arch }}/lua-${{ matrix.luaVersion }}
+ key: lua-on-linux-${{ matrix.arch }}-${{ matrix.luaVersion }}
+ - uses: uraimo/run-on-arch-action@v2
+ with:
+ arch: ${{ matrix.arch }}
+ distro: ubuntu_rolling
+ githubToken: ${{ github.token }}
+ setup: |
+ mkdir -p ".install/${{ matrix.arch }}"
+ install: |
+ apt-get update -q -y
+ apt-get install -q -y curl unzip build-essential libreadline-dev libncurses-dev clang
+ rm -rf /var/lib/apt/lists/*
+ run: |
+ v() {
+ echo -n -e "\033[36m" >&2
+ echo -n "# $*" >&2
+ echo -e "\033[0m" >&2
+ "$@"
+ }
+ export CC=clang
+ if [ "${{ steps.lua-cache.outputs.cache-hit }}" != true ]; then
+ (set -o pipefail; cd ".install/${{ matrix.arch }}" && v curl --fail --silent --location "http://www.lua.org/ftp/lua-${{ matrix.luaVersion }}.tar.gz" | tar xzpf -)
+ (cd ".install/${{ matrix.arch }}/lua-${{ matrix.luaVersion }}" && v make linux)
+ fi
+ (cd ".install/${{ matrix.arch }}/lua-${{ matrix.luaVersion }}" && v make install)
+ (set -o pipefail; cd .install && v curl --fail --silent --location "http://luarocks.org/releases/luarocks-${{ matrix.luaRocksVersion }}.tar.gz" | tar xzpf -)
+ (cd ".install/luarocks-${{ matrix.luaRocksVersion }}" && v ./configure && v make bootstrap)
+ eval "$(luarocks path)"
+ v luarocks make rockspecs/bit32-scm-1.rockspec
+ v lua tests/test-bit32.lua
+
diff --git a/lib/compat53/.github/workflows/compat53-tests.yml b/lib/compat53/.github/workflows/compat53-tests.yml
new file mode 100644
index 0000000..623837f
--- /dev/null
+++ b/lib/compat53/.github/workflows/compat53-tests.yml
@@ -0,0 +1,69 @@
+name: compat53-tests
+on:
+ push:
+ branches: ["master"]
+ pull_request:
+jobs:
+ compat53-test:
+ runs-on: ubuntu-latest
+ strategy:
+ fail-fast: false
+ matrix:
+ include:
+ - luaVersion: "lua=5.1"
+ compiler: gcc
+ external: false
+ - luaVersion: "lua=5.1"
+ compiler: gcc
+ external: true
+ - luaVersion: "lua=5.1"
+ compiler: g++
+ external: true
+ - luaVersion: "lua=5.1"
+ compiler: clang
+ external: false
+ - luaVersion: "luajit=@v2.1 --compat=none"
+ compiler: gcc
+ external: false
+ - luaVersion: "luajit=@v2.1 --compat=none"
+ compiler: gcc
+ external: true
+ - luaVersion: "luajit=@v2.1 --compat=all"
+ compiler: gcc
+ external: false
+ - luaVersion: "luajit=@v2.1 --compat=all"
+ compiler: gcc
+ external: true
+ - luaVersion: "lua=5.2"
+ compiler: gcc
+ external: false
+ - luaVersion: "lua=5.2"
+ compiler: gcc
+ external: true
+ - luaVersion: "lua=5.2"
+ compiler: g++
+ external: true
+ steps:
+ - uses: actions/checkout@v2
+ - name: install Lua
+ run: |
+ sudo apt install libreadline-dev
+ pip3 install --user hererocks
+ ~/.local/bin/hererocks old --${{ matrix.luaVersion }}
+ test -e old/bin/lua || (cd old/bin && ln -s luajit* lua)
+ ~/.local/bin/hererocks new --lua=5.3
+ - name: compile C modules
+ run: |
+ export CC=${{ matrix.compiler }} CFLAGS="-Wall -Wextra -Ic-api -O2 -fPIC"
+ export DEF="" SRC=""
+ if [ "${{ matrix.external }}" = true ]; then DEF="-DCOMPAT53_PREFIX=compat53" SRC="c-api/compat-5.3.c"; fi
+ ${CC} ${CFLAGS} -Iold/include ${DEF} -shared -o old/testmod.so tests/testmod.c ${SRC}
+ ${CC} ${CFLAGS} -Inew/include ${DEF} -shared -o new/testmod.so tests/testmod.c ${SRC}
+ ${CC} ${CFLAGS} -Iold/include ${DEF} -shared -o old/compat53.so ltablib.c lutf8lib.c lstrlib.c liolib.c ${SRC}
+ - name: run test scripts
+ run: |
+ (cd old && bin/lua ../tests/test.lua) > old.txt
+ (cd new && bin/lua ../tests/test.lua) > new.txt
+ - name: compare script output
+ run: diff old.txt new.txt || true
+