Skip to content

Commit

Permalink
CI Test on Windows (Mingw64)
Browse files Browse the repository at this point in the history
  • Loading branch information
rolandlo committed Mar 25, 2024
1 parent 22b0b90 commit e36655b
Show file tree
Hide file tree
Showing 2 changed files with 71 additions and 3 deletions.
60 changes: 60 additions & 0 deletions .github/workflows/msys2.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: mingw

on: [push, pull_request]

jobs:
msys2-mingw64:
strategy:
fail-fast: false
matrix:
lua: [{name: "lua51", exe: "lua5.1.exe", version: 5.1, incdir: "/mingw64/include/lua5.1/"},
{name: "lua53", exe: "lua5.3.exe", version: 5.3, incdir: "/mingw64/include/lua5.3/"},
{name: "lua", exe: "lua5.4.exe", version: 5.4, incdir: "/mingw64/include/"},
{name: "luajit", exe: "luajit.exe", version: 5.1, incdir: "/mingw64/include/luajit-2.1/"}]

runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- uses: actions/checkout@v4
- uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
update: true
install: git
make
mingw-w64-x86_64-toolchain
mingw-w64-x86_64-libvips
mingw-w64-x86_64-openslide
mingw-w64-x86_64-libheif
mingw-w64-x86_64-libjxl
mingw-w64-x86_64-imagemagick
mingw-w64-x86_64-poppler
mingw-w64-x86_64-lua-luarocks
mingw-w64-x86_64-${{ matrix.lua.name }}

- if: matrix.lua.name == 'lua51'
name: Install bitop
run: |
pacman --noconfirm -S mingw-w64-x86_64-lua51-bitop
- name: Lua dependencies
run: |
luarocks config --scope system lua_version ${{ matrix.lua.version }}
luarocks config --scope system variables.LUA_DIR /mingw64/bin
luarocks config --scope system variables.LUA_INCDIR ${{ matrix.lua.incdir }}
make dev
if [[ ${{ matrix.lua.exe }} == lua5* ]]; then make ffi; fi
- name: Add to PATH
run: |
echo $RUNNER_TEMP/msys64/mingw64/bin:$HOME/.luarocks/bin >> $GITHUB_PATH
- name: Lint with luacheck
run: |
make lint
- name: Busted tests
run: |
make test
14 changes: 11 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
DEV_ROCKS = "busted 2.2.0" "luacheck 1.1.2"
BUSTED_ARGS ?= -o gtest -v
TEST_CMD ?= busted $(BUSTED_ARGS)
LUACHECK_ARGS ?= -q

EXT =
ifeq ($(OS),Windows_NT)
EXT = ".bat"
endif

TEST_CMD ?= busted$(EXT) $(BUSTED_ARGS)
LINT_CMD ?= luacheck$(EXT) $(LUACHECK_ARGS)

.PHONY: dev ffi bit lint test

Expand All @@ -21,7 +29,7 @@ bit:
@luarocks install luabitop

lint:
@luacheck -q .
@$(LINT_CMD) .

test:
@$(TEST_CMD) spec/
@$(TEST_CMD) spec

0 comments on commit e36655b

Please sign in to comment.