diff --git a/.ci/Debian11/Dockerfile b/.ci/Debian11/Dockerfile new file mode 100644 index 000000000..b994863bf --- /dev/null +++ b/.ci/Debian11/Dockerfile @@ -0,0 +1,26 @@ +FROM debian:11 + +RUN apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + build-essential \ + ccache \ + clang-format \ + cmake \ + file \ + g++ \ + git \ + liblzma-dev \ + libmariadb-dev-compat \ + libprotobuf-dev \ + libqt5multimedia5-plugins \ + libqt5sql5-mysql \ + libqt5svg5-dev \ + libqt5websockets5-dev \ + ninja-build \ + protobuf-compiler \ + qt5-image-formats-plugins \ + qtmultimedia5-dev \ + qttools5-dev \ + qttools5-dev-tools \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* diff --git a/.ci/Fedora44/Dockerfile b/.ci/Fedora42/Dockerfile similarity index 95% rename from .ci/Fedora44/Dockerfile rename to .ci/Fedora42/Dockerfile index e6c8da7f3..ee4a856f2 100644 --- a/.ci/Fedora44/Dockerfile +++ b/.ci/Fedora42/Dockerfile @@ -1,4 +1,4 @@ -FROM fedora:44 +FROM fedora:42 RUN dnf install -y \ ccache \ diff --git a/.ci/Servatrice_Debian12/Dockerfile b/.ci/Servatrice_Debian11/Dockerfile similarity index 75% rename from .ci/Servatrice_Debian12/Dockerfile rename to .ci/Servatrice_Debian11/Dockerfile index 21f6a036e..fadc9e0e7 100644 --- a/.ci/Servatrice_Debian12/Dockerfile +++ b/.ci/Servatrice_Debian11/Dockerfile @@ -1,4 +1,4 @@ -FROM debian:12 +FROM debian:11 RUN apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ @@ -11,11 +11,11 @@ RUN apt-get update && \ git \ libmariadb-dev-compat \ libprotobuf-dev \ - libqt6sql6-mysql \ + libqt5sql5-mysql \ + libqt5websockets5-dev \ ninja-build \ protobuf-compiler \ - qt6-tools-dev \ - qt6-tools-dev-tools \ - qt6-websockets-dev \ + qttools5-dev \ + qttools5-dev-tools \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* diff --git a/.ci/Ubuntu26.04/Dockerfile b/.ci/Ubuntu22.04/Dockerfile similarity index 87% rename from .ci/Ubuntu26.04/Dockerfile rename to .ci/Ubuntu22.04/Dockerfile index 7b0cd389f..ff2e6e43b 100644 --- a/.ci/Ubuntu26.04/Dockerfile +++ b/.ci/Ubuntu22.04/Dockerfile @@ -1,9 +1,8 @@ -FROM ubuntu:26.04 +FROM ubuntu:22.04 RUN apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ build-essential \ - ca-certificates \ ccache \ clang-format \ cmake \ @@ -16,14 +15,14 @@ RUN apt-get update && \ libprotobuf-dev \ libqt6multimedia6 \ libqt6sql6-mysql \ + libqt6svg6-dev \ + libqt6websockets6-dev \ ninja-build \ protobuf-compiler \ qt6-image-formats-plugins \ qt6-l10n-tools \ qt6-multimedia-dev \ - qt6-svg-dev \ qt6-tools-dev \ qt6-tools-dev-tools \ - qt6-websockets-dev \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* diff --git a/.ci/compile.sh b/.ci/compile.sh index ee846897b..424527f96 100755 --- a/.ci/compile.sh +++ b/.ci/compile.sh @@ -10,11 +10,9 @@ # --test runs tests # --debug or --release sets the build type ie CMAKE_BUILD_TYPE # --ccache [] uses ccache and shows stats, optionally provide size -# --evict-ccache runs ccache eviction based on given age after build # --dir sets the name of the build dir, default is "build" -# --cmake-generator sets CMAKE_GENERATOR as used by cmake # --target-macos-version sets the min os version - only used for macOS builds -# uses env: BUILDTYPE MAKE_INSTALL MAKE_PACKAGE PACKAGE_TYPE PACKAGE_SUFFIX MAKE_SERVER MAKE_NO_CLIENT MAKE_TEST USE_CCACHE CCACHE_SIZE CCACHE_EVICTION_AGE BUILD_DIR CMAKE_GENERATOR TARGET_MACOS_VERSION +# uses env: BUILDTYPE MAKE_INSTALL MAKE_PACKAGE PACKAGE_TYPE PACKAGE_SUFFIX MAKE_SERVER MAKE_NO_CLIENT MAKE_TEST USE_CCACHE CCACHE_SIZE BUILD_DIR CMAKE_GENERATOR TARGET_MACOS_VERSION # (correspond to args: --debug/--release --install --package --suffix --server --test --ccache --dir ) # exitcode: 1 for failure, 3 for invalid arguments @@ -73,15 +71,6 @@ while [[ $# != 0 ]]; do shift fi ;; - '--evict-ccache') - shift - if [[ $# == 0 ]]; then - echo "::error file=$0::--evict-ccache expects an argument" - exit 3 - fi - CCACHE_EVICTION_AGE=$1 - shift - ;; '--vcpkg') USE_VCPKG=1 shift @@ -95,15 +84,6 @@ while [[ $# != 0 ]]; do BUILD_DIR="$1" shift ;; - '--cmake-generator') - shift - if [[ $# == 0 ]]; then - echo "::error file=$0::--cmake-generator expects an argument" - exit 3 - fi - export CMAKE_GENERATOR=$1 - shift - ;; '--target-macos-version') shift if [[ $# == 0 ]]; then @@ -203,11 +183,7 @@ if [[ $RUNNER_OS == macOS ]]; then arch="x64" fi mkdir -p "$triplets_dir" - triplet_source="../vcpkg/triplets/$arch-osx.cmake" - if [[ ! -f "$triplet_source" ]]; then - triplet_source="../vcpkg/triplets/community/$arch-osx.cmake" - fi - cp "$triplet_source" "$triplet_file" + cp "../vcpkg/triplets/$arch-osx.cmake" "$triplet_file" echo "set(VCPKG_CMAKE_SYSTEM_VERSION $TARGET_MACOS_VERSION)" >>"$triplet_file" echo "set(VCPKG_OSX_DEPLOYMENT_TARGET $TARGET_MACOS_VERSION)" >>"$triplet_file" flags+=("-DVCPKG_OVERLAY_TRIPLETS=$triplets_dir") @@ -275,16 +251,9 @@ cmake --build . "${buildflags[@]}" echo "::endgroup::" if [[ $USE_CCACHE ]]; then - if [[ $CCACHE_EVICTION_AGE ]]; then - echo "::group::evict ccache files older than $CCACHE_EVICTION_AGE" - ccache --evict-older-than "$CCACHE_EVICTION_AGE" - echo "::endgroup::" - fi echo "::group::Show ccache stats again" ccachestatsverbose echo "::endgroup::" -elif [[ $CCACHE_EVICTION_AGE ]]; then - echo "::error file=$0::ccache eviction is enabled while ccache is disabled!" fi if [[ $RUNNER_OS == macOS ]]; then diff --git a/.ci/docker.sh b/.ci/docker.sh index 46112daaa..911488ecf 100644 --- a/.ci/docker.sh +++ b/.ci/docker.sh @@ -3,28 +3,17 @@ # This script is to be used by the ci environment from the project root directory, do not use it from somewhere else. # Creates or loads docker images to use in compilation, creates RUN function to start compilation on the docker image. -# -# usage: source