diff --git a/.ci/Ubuntu22.04/Dockerfile b/.ci/Ubuntu22.04/Dockerfile index 93c8fdea9..ff2e6e43b 100644 --- a/.ci/Ubuntu22.04/Dockerfile +++ b/.ci/Ubuntu22.04/Dockerfile @@ -9,18 +9,20 @@ RUN apt-get update && \ file \ g++ \ git \ + libgl-dev \ liblzma-dev \ libmariadb-dev-compat \ libprotobuf-dev \ - libqt5multimedia5-plugins \ - libqt5sql5-mysql \ - libqt5svg5-dev \ - libqt5websockets5-dev \ + libqt6multimedia6 \ + libqt6sql6-mysql \ + libqt6svg6-dev \ + libqt6websockets6-dev \ ninja-build \ protobuf-compiler \ - qt5-image-formats-plugins \ - qtmultimedia5-dev \ - qttools5-dev \ - qttools5-dev-tools \ + qt6-image-formats-plugins \ + qt6-l10n-tools \ + qt6-multimedia-dev \ + qt6-tools-dev \ + qt6-tools-dev-tools \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* diff --git a/.ci/Ubuntu26.04/Dockerfile b/.ci/Ubuntu26.04/Dockerfile deleted file mode 100644 index 7b0cd389f..000000000 --- a/.ci/Ubuntu26.04/Dockerfile +++ /dev/null @@ -1,29 +0,0 @@ -FROM ubuntu:26.04 - -RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ - build-essential \ - ca-certificates \ - ccache \ - clang-format \ - cmake \ - file \ - g++ \ - git \ - libgl-dev \ - liblzma-dev \ - libmariadb-dev-compat \ - libprotobuf-dev \ - libqt6multimedia6 \ - libqt6sql6-mysql \ - 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 7ebdd6e4e..a7c349fb0 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 @@ -142,7 +122,7 @@ if [[ $MAKE_SERVER ]]; then flags+=("-DWITH_SERVER=1") fi if [[ $MAKE_NO_CLIENT ]]; then - flags+=("-DWITH_CLIENT=0" "-DWITH_ORACLE=0") + flags+=("-DWITH_CLIENT=0" "-DWITH_ORACLE=0" "-DWITH_DBCONVERTER=0") fi if [[ $MAKE_TEST ]]; then flags+=("-DTEST=1") @@ -176,18 +156,6 @@ function ccachestatsverbose() { # Compile if [[ $RUNNER_OS == macOS ]]; then - # QTDIR is needed for macOS since we actually only use the cached thin Qt binaries instead of the install-qt-action, - # which sets a few environment variables - if QTDIR=$(find "$GITHUB_WORKSPACE/Qt" -depth -maxdepth 2 -name macos -type d -print -quit); then - echo "found QTDIR at $QTDIR" - else - echo "could not find QTDIR!" - exit 2 - fi - # the qtdir is located at Qt/[qtversion]/macos - # we use find to get the first subfolder with the name "macos" - # this works independent of the qt version as there should be only one version installed on the runner at a time - export QTDIR if [[ $TARGET_MACOS_VERSION ]]; then # CMAKE_OSX_DEPLOYMENT_TARGET is a vanilla cmake flag needed to compile to target macOS version @@ -271,21 +239,14 @@ 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 echo "::group::Inspect Mach-O binaries" - for app in cockatrice oracle servatrice; do + for app in cockatrice oracle servatrice dbconverter; do binary="$GITHUB_WORKSPACE/build/$app/$app.app/Contents/MacOS/$app" echo "Inspecting $app..." vtool -show-build "$binary" 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