From ccdaf5de54108990fcdeb0b0ff4a4fc4cd998522 Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Sat, 23 Jan 2021 23:48:22 +0000 Subject: Disable clang-format, clean up scripts --- .github/workflows/cpp_lint.yml | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/cpp_lint.yml b/.github/workflows/cpp_lint.yml index 1f97d105a..2bd884c7a 100644 --- a/.github/workflows/cpp_lint.yml +++ b/.github/workflows/cpp_lint.yml @@ -24,20 +24,21 @@ on: - '.github/workflows/**.yml' jobs: - clang_format: - runs-on: ubuntu-18.04 - steps: - - uses: actions/checkout@v2 - - name: Install clang-format - run: | - sudo apt-get install clang-format-9 -qyy - - name: Run clang-format - run: | - source ./util/ci/lint.sh - perform_lint - env: - CLANG_FORMAT: clang-format-9 +# clang_format: +# runs-on: ubuntu-18.04 +# steps: +# - uses: actions/checkout@v2 +# - name: Install clang-format +# run: | +# sudo apt-get install clang-format-9 -qyy +# +# - name: Run clang-format +# run: | +# source ./util/ci/clang-format.sh +# check_format +# env: +# CLANG_FORMAT: clang-format-9 clang_tidy: runs-on: ubuntu-18.04 -- cgit v1.2.3 From 75eb28b95994781d52eb2c09303b1cd04e32b6c5 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Sun, 7 Mar 2021 13:58:27 +0100 Subject: CI: update configurations for Irrlicht fork --- .github/workflows/build.yml | 7 +++++-- util/buildbot/buildwin32.sh | 12 +++++++----- util/buildbot/buildwin64.sh | 12 +++++++----- util/ci/common.sh | 10 +++++++++- 4 files changed, 28 insertions(+), 13 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a3cc92a8e..ae24dc574 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -124,7 +124,7 @@ jobs: - name: Install deps run: | source ./util/ci/common.sh - install_linux_deps clang-9 + install_linux_deps --old-irr clang-9 - name: Build prometheus-cpp run: | @@ -212,7 +212,10 @@ jobs: msvc: name: VS 2019 ${{ matrix.config.arch }}-${{ matrix.type }} - runs-on: windows-2019 + runs-on: windows-2019 + #### Disabled due to Irrlicht switch + if: false + #### Disabled due to Irrlicht switch env: VCPKG_VERSION: 0bf3923f9fab4001c00f0f429682a0853b5749e0 # 2020.11 diff --git a/util/buildbot/buildwin32.sh b/util/buildbot/buildwin32.sh index a296d9999..715a89822 100755 --- a/util/buildbot/buildwin32.sh +++ b/util/buildbot/buildwin32.sh @@ -31,7 +31,7 @@ if [ -z "$toolchain_file" ]; then fi echo "Using $toolchain_file" -irrlicht_version=1.8.4 +irrlicht_version=1.9.0mt0 ogg_version=1.3.2 vorbis_version=1.3.5 curl_version=7.65.3 @@ -48,7 +48,7 @@ mkdir -p $libdir cd $builddir # Get stuff -[ -e $packagedir/irrlicht-$irrlicht_version.zip ] || wget http://minetest.kitsunemimi.pw/irrlicht-$irrlicht_version-win32.zip \ +[ -e $packagedir/irrlicht-$irrlicht_version.zip ] || wget https://github.com/minetest/irrlicht/releases/download/$irrlicht_version/win32.zip \ -c -O $packagedir/irrlicht-$irrlicht_version.zip [ -e $packagedir/zlib-$zlib_version.zip ] || wget http://minetest.kitsunemimi.pw/zlib-$zlib_version-win32.zip \ -c -O $packagedir/zlib-$zlib_version.zip @@ -102,6 +102,8 @@ if [ "x$NO_MINETEST_GAME" = "x" ]; then cd .. fi +irr_dlls=$(echo $libdir/irrlicht/bin/*.dll | tr ' ' ';') + # Build the thing [ -d _build ] && rm -Rf _build/ mkdir _build @@ -118,9 +120,9 @@ cmake .. \ -DENABLE_FREETYPE=1 \ -DENABLE_LEVELDB=1 \ \ - -DIRRLICHT_INCLUDE_DIR=$libdir/irrlicht/include \ - -DIRRLICHT_LIBRARY=$libdir/irrlicht/lib/Win32-gcc/libIrrlicht.dll.a \ - -DIRRLICHT_DLL=$libdir/irrlicht/bin/Win32-gcc/Irrlicht.dll \ + -DIRRLICHT_INCLUDE_DIR=$libdir/irrlicht/include/irrlicht \ + -DIRRLICHT_LIBRARY=$libdir/irrlicht/lib/libIrrlicht.dll.a \ + -DIRRLICHT_DLL="$irr_dlls" \ \ -DZLIB_INCLUDE_DIR=$libdir/zlib/include \ -DZLIB_LIBRARIES=$libdir/zlib/lib/libz.dll.a \ diff --git a/util/buildbot/buildwin64.sh b/util/buildbot/buildwin64.sh index 94e009c29..226ef84c1 100755 --- a/util/buildbot/buildwin64.sh +++ b/util/buildbot/buildwin64.sh @@ -20,7 +20,7 @@ packagedir=$builddir/packages libdir=$builddir/libs toolchain_file=$dir/toolchain_x86_64-w64-mingw32.cmake -irrlicht_version=1.8.4 +irrlicht_version=1.9.0mt0 ogg_version=1.3.2 vorbis_version=1.3.5 curl_version=7.65.3 @@ -37,7 +37,7 @@ mkdir -p $libdir cd $builddir # Get stuff -[ -e $packagedir/irrlicht-$irrlicht_version.zip ] || wget http://minetest.kitsunemimi.pw/irrlicht-$irrlicht_version-win64.zip \ +[ -e $packagedir/irrlicht-$irrlicht_version.zip ] || wget https://github.com/minetest/irrlicht/releases/download/$irrlicht_version/win64.zip \ -c -O $packagedir/irrlicht-$irrlicht_version.zip [ -e $packagedir/zlib-$zlib_version.zip ] || wget http://minetest.kitsunemimi.pw/zlib-$zlib_version-win64.zip \ -c -O $packagedir/zlib-$zlib_version.zip @@ -92,6 +92,8 @@ if [ "x$NO_MINETEST_GAME" = "x" ]; then cd .. fi +irr_dlls=$(echo $libdir/irrlicht/bin/*.dll | tr ' ' ';') + # Build the thing [ -d _build ] && rm -Rf _build/ mkdir _build @@ -108,9 +110,9 @@ cmake .. \ -DENABLE_FREETYPE=1 \ -DENABLE_LEVELDB=1 \ \ - -DIRRLICHT_INCLUDE_DIR=$libdir/irrlicht/include \ - -DIRRLICHT_LIBRARY=$libdir/irrlicht/lib/Win64-gcc/libIrrlicht.dll.a \ - -DIRRLICHT_DLL=$libdir/irrlicht/bin/Win64-gcc/Irrlicht.dll \ + -DIRRLICHT_INCLUDE_DIR=$libdir/irrlicht/include/irrlicht \ + -DIRRLICHT_LIBRARY=$libdir/irrlicht/lib/libIrrlicht.dll.a \ + -DIRRLICHT_DLL="$irr_dlls" \ \ -DZLIB_INCLUDE_DIR=$libdir/zlib/include \ -DZLIB_LIBRARIES=$libdir/zlib/lib/libz.dll.a \ diff --git a/util/ci/common.sh b/util/ci/common.sh index 7523fa7ff..d73c31b2f 100644 --- a/util/ci/common.sh +++ b/util/ci/common.sh @@ -2,12 +2,20 @@ # Linux build only install_linux_deps() { - local pkgs=(libirrlicht-dev cmake libbz2-dev libpng-dev \ + local pkgs=(cmake libpng-dev \ libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev \ libhiredis-dev libogg-dev libgmp-dev libvorbis-dev libopenal-dev \ gettext libpq-dev postgresql-server-dev-all libleveldb-dev \ libcurl4-openssl-dev) + if [[ "$1" == "--old-irr" ]]; then + shift + pkgs+=(libirrlicht-dev) + else + wget "https://github.com/minetest/irrlicht/releases/download/1.9.0mt0/ubuntu-bionic.tar.gz" + sudo tar -xaf ubuntu-bionic.tar.gz -C /usr/local + fi + sudo apt-get update sudo apt-get install -y --no-install-recommends ${pkgs[@]} "$@" } -- cgit v1.2.3 From 88783679cf95803a615b70ed3686daaac65a74a6 Mon Sep 17 00:00:00 2001 From: Loic Blot Date: Fri, 2 Apr 2021 14:17:24 +0200 Subject: fix(ci): ensure we build on docker only modifications --- .github/workflows/build.yml | 4 ++++ 1 file changed, 4 insertions(+) (limited to '.github/workflows') diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ae24dc574..0cf18d228 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,6 +13,8 @@ on: - 'util/buildbot/**' - 'util/ci/**' - '.github/workflows/**.yml' + - 'Dockerfile' + - '.dockerignore' pull_request: paths: - 'lib/**.[ch]' @@ -24,6 +26,8 @@ on: - 'util/buildbot/**' - 'util/ci/**' - '.github/workflows/**.yml' + - 'Dockerfile' + - '.dockerignore' jobs: # This is our minor gcc compiler -- cgit v1.2.3 From ba40b3950057c54609f8e4a56139563d30f8b84f Mon Sep 17 00:00:00 2001 From: sfan5 Date: Wed, 21 Apr 2021 18:21:12 +0200 Subject: Add basic client-server test to CI --- .github/workflows/build.yml | 8 +++- util/ci/common.sh | 4 +- util/test_multiplayer.sh | 91 +++++++++++++++++++++++++++------------------ 3 files changed, 63 insertions(+), 40 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0cf18d228..d268aa0cb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -80,7 +80,7 @@ jobs: - name: Install deps run: | source ./util/ci/common.sh - install_linux_deps clang-3.9 + install_linux_deps clang-3.9 gdb - name: Build run: | @@ -89,10 +89,14 @@ jobs: CC: clang-3.9 CXX: clang++-3.9 - - name: Test + - name: Unittest run: | ./bin/minetest --run-unittests + - name: Integration test + run: | + ./util/test_multiplayer.sh + # This is the current clang version clang_9: runs-on: ubuntu-18.04 diff --git a/util/ci/common.sh b/util/ci/common.sh index 1083581b5..eb282c823 100644 --- a/util/ci/common.sh +++ b/util/ci/common.sh @@ -11,7 +11,9 @@ install_linux_deps() { shift pkgs+=(libirrlicht-dev) else - wget "https://github.com/minetest/irrlicht/releases/download/1.9.0mt1/ubuntu-bionic.tar.gz" + # TODO: return old URL when IrrlichtMt 1.9.0mt2 is tagged + #wget "https://github.com/minetest/irrlicht/releases/download/1.9.0mt1/ubuntu-bionic.tar.gz" + wget "http://minetest.kitsunemimi.pw/irrlichtmt-patched-temporary.tgz" -O ubuntu-bionic.tar.gz sudo tar -xaf ubuntu-bionic.tar.gz -C /usr/local fi diff --git a/util/test_multiplayer.sh b/util/test_multiplayer.sh index 176cf11d9..9fb894a30 100755 --- a/util/test_multiplayer.sh +++ b/util/test_multiplayer.sh @@ -3,41 +3,58 @@ dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" gameid=devtest minetest=$dir/../bin/minetest testspath=$dir/../tests -worldpath=$testspath/testworld_$gameid -configpath=$testspath/configs -logpath=$testspath/log -conf_server=$configpath/minetest.conf.multi.server -conf_client1=$configpath/minetest.conf.multi.client1 -conf_client2=$configpath/minetest.conf.multi.client2 -log_server=$logpath/server.log -log_client1=$logpath/client1.log -log_client2=$logpath/client2.log - -mkdir -p $worldpath -mkdir -p $configpath -mkdir -p $logpath - -echo -ne 'client1::shout,interact,settime,teleport,give -client2::shout,interact,settime,teleport,give -' > $worldpath/auth.txt - -echo -ne '' > $conf_server - -echo -ne '# client 1 config -screenW=500 -screenH=380 -name=client1 -viewing_range_nodes_min=10 -' > $conf_client1 - -echo -ne '# client 2 config -screenW=500 -screenH=380 -name=client2 -viewing_range_nodes_min=10 -' > $conf_client2 - -echo $(sleep 1; $minetest --disable-unittests --logfile $log_client1 --config $conf_client1 --go --address localhost) & -echo $(sleep 2; $minetest --disable-unittests --logfile $log_client2 --config $conf_client2 --go --address localhost) & -$minetest --disable-unittests --server --logfile $log_server --config $conf_server --world $worldpath --gameid $gameid +conf_client1=$testspath/client1.conf +conf_server=$testspath/server.conf +worldpath=$testspath/world +waitfor () { + n=30 + while [ $n -gt 0 ]; do + [ -f "$1" ] && return 0 + sleep 0.5 + ((n-=1)) + done + echo "Waiting for ${1##*/} timed out" + pkill -P $$ + exit 1 +} + +gdbrun () { + gdb -q -ex 'set confirm off' -ex 'r' -ex 'bt' -ex 'quit' --args "$@" +} + +[ -e $minetest ] || { echo "executable $minetest missing"; exit 1; } + +rm -rf $worldpath +mkdir -p $worldpath/worldmods/test + +printf '%s\n' >$testspath/client1.conf \ + video_driver=null name=client1 viewing_range=10 \ + enable_{sound,minimap,shaders}=false + +printf '%s\n' >$testspath/server.conf \ + max_block_send_distance=1 + +cat >$worldpath/worldmods/test/init.lua <<"LUA" +core.after(0, function() + io.close(io.open(core.get_worldpath() .. "/startup", "w")) +end) +core.register_on_joinplayer(function(player) + io.close(io.open(core.get_worldpath() .. "/player_joined", "w")) + core.request_shutdown("", false, 2) +end) +LUA + +echo "Starting server" +gdbrun $minetest --server --config $conf_server --world $worldpath --gameid $gameid 2>&1 | sed -u 's/^/(server) /' & +waitfor $worldpath/startup + +echo "Starting client" +gdbrun $minetest --config $conf_client1 --go --address 127.0.0.1 2>&1 | sed -u 's/^/(client) /' & +waitfor $worldpath/player_joined + +echo "Waiting for client and server to exit" +wait + +echo "Success" +exit 0 -- cgit v1.2.3