From 09d8705ecec2347c16b93ef90125a037fa4ff743 Mon Sep 17 00:00:00 2001 From: Philipp Janda Date: Wed, 11 Nov 2020 15:13:50 +0100 Subject: Multi arch tests (#50) --- .github/workflows/bit32-multi-arch-tests.yml | 51 ++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 .github/workflows/bit32-multi-arch-tests.yml diff --git a/.github/workflows/bit32-multi-arch-tests.yml b/.github/workflows/bit32-multi-arch-tests.yml new file mode 100644 index 0000000..befef38 --- /dev/null +++ b/.github/workflows/bit32-multi-arch-tests.yml @@ -0,0 +1,51 @@ +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.0.7 + with: + arch: ${{ matrix.arch }} + distro: ubuntu20.04 + 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 + rm -rf /var/lib/apt/lists/* + run: | + v() { + echo -n -e "\033[36m" >&2 + echo -n "# $*" >&2 + echo -e "\033[0m" >&2 + "$@" + } + 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 + -- cgit v1.2.3-55-g6feb