Add workflow that runs simple test with the engine present

This commit is contained in:
sfan5
2024-03-25 20:45:31 +01:00
parent ef788d0307
commit 316c0c7224
5 changed files with 54 additions and 0 deletions

1
utils/test/minetest.conf Normal file
View File

@ -0,0 +1 @@
minetest_game_smoke_test = true

19
utils/test/run.sh Executable file
View File

@ -0,0 +1,19 @@
#!/bin/bash -e
world=$(mktemp -d)
trap 'rm -rf "$world" || :' EXIT
[ -f game.conf ] || { echo "Must be run in game root folder." >&2; exit 1; }
cp -v utils/test/world.mt "$world/"
chmod -R a+rwX "$world" # needed because server runs as unprivileged user inside container
vol=(
-v "$PWD/utils/test/minetest.conf":/etc/minetest/minetest.conf
--tmpfs /var/lib/minetest/.minetest
-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"
exit 0

7
utils/test/world.mt Normal file
View File

@ -0,0 +1,7 @@
auth_backend = sqlite3
backend = sqlite3
creative_mode = false
enable_damage = true
gameid = minetest
mod_storage_backend = sqlite3
player_backend = sqlite3