From 05d5461a41c459031ec4fb76e4bf31f9a2f83256 Mon Sep 17 00:00:00 2001
From: sfan5 <sfan5@live.de>
Date: Fri, 13 Jun 2025 11:52:28 +0200
Subject: [PATCH] Fix Docker CI test to run on new/old engine versions

---
 .github/workflows/test.yml | 10 +++++++++-
 utils/test/run.sh          |  2 +-
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 8128ba34..19864e43 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -1,11 +1,19 @@
-name: test
+name: Test
 on: [push, pull_request]
 
 jobs:
   test:
     runs-on: ubuntu-latest
     timeout-minutes: 5
+    strategy:
+      matrix:
+        cfg:
+          - { image: 'ghcr.io/minetest/minetest:5.9.0' }
+          - { image: 'ghcr.io/minetest/minetest:5.10.0' }
+          - { image: 'ghcr.io/luanti-org/luanti:master' } # latest git
     steps:
     - uses: actions/checkout@v4
 
     - run: ./utils/test/run.sh
+      env:
+        DOCKER_IMAGE: "${{ matrix.cfg.image }}"
diff --git a/utils/test/run.sh b/utils/test/run.sh
index fb4fa391..652bed9f 100755
--- a/utils/test/run.sh
+++ b/utils/test/run.sh
@@ -3,6 +3,7 @@ world=$(mktemp -d)
 trap 'rm -rf "$world" || :' EXIT
 
 [ -f game.conf ] || { echo "Must be run in game root folder." >&2; exit 1; }
+[ -n "$DOCKER_IMAGE" ] || { echo "Specify a docker image." >&2; exit 1; }
 
 chmod -R 777 "$world" # container uses unprivileged user inside
 
@@ -12,7 +13,6 @@ vol=(
 	-v "$PWD":/var/lib/minetest/.minetest/games/minetest_game
 	-v "$world":/var/lib/minetest/.minetest/world
 )
-[ -z "$DOCKER_IMAGE" ] && DOCKER_IMAGE="ghcr.io/minetest/minetest:master"
 docker run --rm -i "${vol[@]}" "$DOCKER_IMAGE" --config /etc/minetest/minetest.conf --gameid minetest
 
 test -f "$world/map.sqlite" || exit 1