From c7059c4981abc35d7615099306692f90750cb148 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Sat, 30 Jul 2022 11:58:47 +0200 Subject: [PATCH] Move some CI jobs to newer compiler versions --- .github/workflows/build.yml | 31 +++++++++++++++---------------- .github/workflows/macos.yml | 12 ++++-------- util/ci/common.sh | 30 ++++++++++++++++-------------- 3 files changed, 35 insertions(+), 38 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d578c3d9f..282dbe307 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -52,21 +52,21 @@ jobs: ./bin/minetest --run-unittests # Current gcc version - gcc_10: - runs-on: ubuntu-20.04 + gcc_12: + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 - name: Install deps run: | source ./util/ci/common.sh - install_linux_deps g++-10 + install_linux_deps g++-12 libluajit-5.1-dev - name: Build run: | ./util/ci/build.sh env: - CC: gcc-10 - CXX: g++-10 + CC: gcc-12 + CXX: g++-12 - name: Test run: | @@ -80,7 +80,7 @@ jobs: - name: Install deps run: | source ./util/ci/common.sh - install_linux_deps clang-3.9 gdb + install_linux_deps clang-3.9 valgrind - name: Build run: | @@ -93,35 +93,34 @@ jobs: run: | ./bin/minetest --run-unittests - - name: Integration test + devtest + - name: Valgrind run: | - ./util/test_multiplayer.sh + valgrind --leak-check=full --leak-check-heuristics=all --undef-value-errors=no --error-exitcode=9 ./bin/minetest --run-unittests # Current clang version - clang_10: - runs-on: ubuntu-20.04 + clang_14: + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 - name: Install deps run: | source ./util/ci/common.sh - install_linux_deps clang-10 valgrind libluajit-5.1-dev + install_linux_deps clang-14 gdb - name: Build run: | ./util/ci/build.sh env: - CC: clang-10 - CXX: clang++-10 - CMAKE_FLAGS: "-DREQUIRE_LUAJIT=1" + CC: clang-14 + CXX: clang++-14 - name: Test run: | ./bin/minetest --run-unittests - - name: Valgrind + - name: Integration test + devtest run: | - valgrind --leak-check=full --leak-check-heuristics=all --undef-value-errors=no --error-exitcode=9 ./bin/minetest --run-unittests + ./util/test_multiplayer.sh # Build with prometheus-cpp (server-only) clang_9_prometheus: diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 038765494..edc6630c0 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -28,16 +28,13 @@ env: jobs: build: - runs-on: macos-10.15 + runs-on: macos-11 steps: - uses: actions/checkout@v3 - name: Install deps run: | - pkgs=(cmake freetype gettext gmp hiredis jpeg jsoncpp leveldb libogg libpng libvorbis luajit zstd) - brew update - brew install ${pkgs[@]} - brew unlink $(brew ls --formula) - brew link ${pkgs[@]} + source ./util/ci/common.sh + install_macos_deps - name: Build run: | @@ -49,8 +46,7 @@ jobs: -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 \ -DCMAKE_FIND_FRAMEWORK=LAST \ -DCMAKE_INSTALL_PREFIX=../build/macos/ \ - -DRUN_IN_PLACE=FALSE \ - -DENABLE_FREETYPE=TRUE -DENABLE_GETTEXT=TRUE + -DRUN_IN_PLACE=FALSE -DENABLE_GETTEXT=TRUE make -j2 make install diff --git a/util/ci/common.sh b/util/ci/common.sh index 3015680c4..c9271e813 100644 --- a/util/ci/common.sh +++ b/util/ci/common.sh @@ -2,10 +2,12 @@ # Linux build only install_linux_deps() { - 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 libleveldb-dev libcurl4-openssl-dev libzstd-dev) + local pkgs=( + cmake gettext + libpng-dev libjpeg-dev libxi-dev libgl1-mesa-dev + libsqlite3-dev libhiredis-dev libogg-dev libgmp-dev libvorbis-dev + libopenal-dev libpq-dev libleveldb-dev libcurl4-openssl-dev libzstd-dev + ) if [[ "$1" == "--no-irr" ]]; then shift @@ -16,17 +18,17 @@ install_linux_deps() { fi sudo apt-get update - sudo apt-get install -y --no-install-recommends ${pkgs[@]} "$@" + sudo apt-get install -y --no-install-recommends "${pkgs[@]}" "$@" } -# Mac OSX build only -install_macosx_deps() { +# macOS build only +install_macos_deps() { + local pkgs=( + cmake gettext freetype gmp jpeg-turbo jsoncpp leveldb + libogg libpng libvorbis luajit zstd + ) brew update - brew install freetype gettext hiredis irrlicht leveldb libogg libvorbis luajit - if brew ls | grep -q jpeg; then - brew upgrade jpeg - else - brew install jpeg - fi - #brew upgrade postgresql + brew install "${pkgs[@]}" + brew unlink $(brew ls --formula) + brew link "${pkgs[@]}" }