From 87232358d39fbff09f2b9051bd25edebbb231f8a Mon Sep 17 00:00:00 2001 From: sfan5 Date: Mon, 3 Jun 2024 20:39:02 +0200 Subject: [PATCH] Update some workflows to newer Ubuntu versions (#14668) --- .github/workflows/android.yml | 4 ++-- .github/workflows/linux.yml | 37 +++++++++++++++---------------- .github/workflows/lua.yml | 10 +++------ src/content/mod_configuration.cpp | 1 + src/mapgen/mg_biome.cpp | 1 + util/ci/build_luajit.sh | 6 +++++ util/ci/build_prometheus_cpp.sh | 6 ++--- util/ci/common.sh | 17 +++++++++----- util/ci/docker.sh | 15 ------------- 9 files changed, 45 insertions(+), 52 deletions(-) create mode 100755 util/ci/build_luajit.sh delete mode 100755 util/ci/docker.sh diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index dcc991080..0896d9abc 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -29,13 +29,13 @@ on: jobs: build: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - name: Install deps run: | sudo apt-get update - sudo apt-get install -y --no-install-recommends gettext openjdk-11-jdk-headless + sudo apt-get install -y --no-install-recommends gettext openjdk-17-jdk-headless - name: Build AAB with Gradle # We build an AAB as well for uploading to the the Play Store. run: cd android; ./gradlew bundlerelease diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 95f0f004a..2d0c72907 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -57,21 +57,21 @@ jobs: ./bin/minetest --run-unittests # Current gcc version - gcc_12: - runs-on: ubuntu-22.04 + gcc_14: + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - name: Install deps run: | source ./util/ci/common.sh - install_linux_deps g++-12 libluajit-5.1-dev + install_linux_deps g++-14 libluajit-5.1-dev - name: Build run: | ./util/ci/build.sh env: - CC: gcc-12 - CXX: g++-12 + CC: gcc-14 + CXX: g++-14 - name: Test run: | @@ -103,21 +103,21 @@ jobs: ./bin/minetest --run-unittests # Current clang version - clang_14: - runs-on: ubuntu-22.04 + clang_18: + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - name: Install deps run: | source ./util/ci/common.sh - install_linux_deps clang-14 lldb + install_linux_deps clang-18 lldb - name: Build run: | ./util/ci/build.sh env: - CC: clang-14 - CXX: clang++-14 + CC: clang-18 + CXX: clang++-18 - name: Test run: | @@ -128,27 +128,26 @@ jobs: ./util/test_multiplayer.sh # Build with prometheus-cpp (server-only) - clang_9_prometheus: - name: "clang_9 (PROMETHEUS=1)" - runs-on: ubuntu-20.04 + clang_11_prometheus: + name: "clang_11 (PROMETHEUS=1)" + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - name: Install deps run: | source ./util/ci/common.sh - install_linux_deps clang-9 + install_linux_deps clang-11 - name: Build prometheus-cpp - run: | - ./util/ci/build_prometheus_cpp.sh + run: ./util/ci/build_prometheus_cpp.sh - name: Build run: | ./util/ci/build.sh env: - CC: clang-9 - CXX: clang++-9 - CMAKE_FLAGS: "-DENABLE_PROMETHEUS=1 -DBUILD_CLIENT=0" + CC: clang-11 + CXX: clang++-11 + CMAKE_FLAGS: "-DENABLE_PROMETHEUS=1 -DBUILD_CLIENT=0 -DENABLE_CURSES=0" - name: Test run: | diff --git a/.github/workflows/lua.yml b/.github/workflows/lua.yml index 6f803d133..0073eca2e 100644 --- a/.github/workflows/lua.yml +++ b/.github/workflows/lua.yml @@ -17,7 +17,7 @@ jobs: # Note that the integration tests are also run in build.yml, but only when C++ code is changed. integration_tests: name: "Compile and run multiplayer tests" - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - name: Install deps @@ -39,7 +39,7 @@ jobs: luacheck: name: "Builtin Luacheck and Unit Tests" - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: @@ -50,11 +50,7 @@ jobs: - uses: leafo/gh-actions-luarocks@v4.3.0 - name: Install LuaJIT - run: | - cd $HOME - git clone https://github.com/LuaJIT/LuaJIT/ - cd LuaJIT - make -j$(nproc) + run: ./util/ci/build_luajit.sh - name: Install luarocks tools run: | diff --git a/src/content/mod_configuration.cpp b/src/content/mod_configuration.cpp index d814c1b68..1dba67ef1 100644 --- a/src/content/mod_configuration.cpp +++ b/src/content/mod_configuration.cpp @@ -25,6 +25,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "exceptions.h" #include "util/numeric.h" #include +#include std::string ModConfiguration::getUnsatisfiedModsError() const { diff --git a/src/mapgen/mg_biome.cpp b/src/mapgen/mg_biome.cpp index beb457c0f..83ecbd691 100644 --- a/src/mapgen/mg_biome.cpp +++ b/src/mapgen/mg_biome.cpp @@ -28,6 +28,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "porting.h" #include "settings.h" +#include /////////////////////////////////////////////////////////////////////////////// diff --git a/util/ci/build_luajit.sh b/util/ci/build_luajit.sh new file mode 100755 index 000000000..6307b2780 --- /dev/null +++ b/util/ci/build_luajit.sh @@ -0,0 +1,6 @@ +#!/bin/bash -eu +cd $HOME +git clone --depth 1 https://github.com/LuaJIT/LuaJIT +pushd LuaJIT +make -j$(nproc) +popd diff --git a/util/ci/build_prometheus_cpp.sh b/util/ci/build_prometheus_cpp.sh index f3e4a5559..d2956aa5e 100755 --- a/util/ci/build_prometheus_cpp.sh +++ b/util/ci/build_prometheus_cpp.sh @@ -1,7 +1,7 @@ -#! /bin/bash -eu - +#!/bin/bash -eu cd /tmp -git clone --recursive https://github.com/jupp0r/prometheus-cpp +git clone --recursive --depth 1 --shallow-submodules \ + https://github.com/jupp0r/prometheus-cpp mkdir prometheus-cpp/build cd prometheus-cpp/build cmake .. \ diff --git a/util/ci/common.sh b/util/ci/common.sh index ac80029f0..201b182f2 100644 --- a/util/ci/common.sh +++ b/util/ci/common.sh @@ -4,7 +4,7 @@ install_linux_deps() { local pkgs=( cmake gettext postgresql - libpng-dev libjpeg-dev libgl1-mesa-dev libsdl2-dev + libpng-dev libjpeg-dev libgl1-mesa-dev libsdl2-dev libfreetype-dev libsqlite3-dev libhiredis-dev libogg-dev libgmp-dev libvorbis-dev libopenal-dev libpq-dev libleveldb-dev libcurl4-openssl-dev libzstd-dev ) @@ -12,11 +12,16 @@ install_linux_deps() { sudo apt-get update sudo apt-get install -y --no-install-recommends "${pkgs[@]}" "$@" - sudo systemctl start postgresql.service - sudo -u postgres psql <<<" - CREATE USER minetest WITH PASSWORD 'minetest'; - CREATE DATABASE minetest; - " + # set up Postgres for unit tests + if [ -n "$MINETEST_POSTGRESQL_CONNECT_STRING" ]; then + sudo systemctl start postgresql.service + sudo -u postgres psql <<<" + CREATE USER minetest WITH PASSWORD 'minetest'; + CREATE DATABASE minetest; + \c minetest + GRANT ALL ON SCHEMA public TO minetest; + " + fi } # macOS build only diff --git a/util/ci/docker.sh b/util/ci/docker.sh deleted file mode 100755 index dd671a007..000000000 --- a/util/ci/docker.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -e -name=${CONTAINER_IMAGE}/server - -# build and publish Docker image (gitlab-ci) - -docker build . \ - -t ${name}:${CI_COMMIT_SHA} \ - -t ${name}:${CI_COMMIT_REF_NAME} \ - -t ${name}:latest - -docker push ${name}:${CI_COMMIT_SHA} -docker push ${name}:${CI_COMMIT_REF_NAME} -[ "$CI_COMMIT_BRANCH" = master ] && docker push ${name}:latest - -exit 0