diff options
| author | 2025-07-14 17:51:23 -0500 | |
|---|---|---|
| committer | 2025-07-14 17:51:23 -0500 | |
| commit | 6f8c0f3abda585b3ee1d87e3b8e19c729b52b4a6 (patch) | |
| tree | 8361fd3812991d43adca5b5c81029486aa955478 /lib/compat53/.github | |
| parent | v0.3.2 (diff) | |
Added compat53 support and fixed bugged non-interactive mode
Diffstat (limited to 'lib/compat53/.github')
| -rw-r--r-- | lib/compat53/.github/workflows/bit32-multi-arch-tests.yml | 52 | ||||
| -rw-r--r-- | lib/compat53/.github/workflows/compat53-tests.yml | 69 |
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 + |
