variables: DEBIAN_FRONTEND: "noninteractive" include: - project: sysadmin/ci-utilities file: - /gitlab-templates/android-qt6.yml - /gitlab-templates/linux-qt6.yml - /gitlab-templates/freebsd-qt6.yml - /gitlab-templates/windows-qt6.yml - /gitlab-templates/cppcheck.yml - /gitlab-templates/xml-lint.yml - /gitlab-templates/craft-windows-x86-64-qt6.yml - /gitlab-templates/craft-android-qt6-apks.yml - /gitlab-templates/craft-macos-arm64-qt6.yml - /gitlab-templates/craft-macos-x86-64-qt6.yml # Ideally should be LTS but there's no Ubuntu LTS that can build Okular yet build_ubuntu_24_10: stage: build image: ubuntu:24.10 tags: - Linux only: - merge_requests before_script: - sed -i 's/ deb/ deb deb-src/' /etc/apt/sources.list.d/ubuntu.sources - apt-get update - apt-get install --yes eatmydata # Uncomment when ubuntu ships with a Qt6 okular # - eatmydata apt-get build-dep --yes --no-install-recommends okular # Remove when ubuntu ships with a Qt6 okular - eatmydata apt-get install --yes --no-install-recommends libkf6kio-dev cmake g++ extra-cmake-modules qt6-svg-dev libkf6xmlgui-dev libkf6threadweaver-dev libkf6parts-dev libkf6crash-dev libkf6iconthemes-dev libkf6textwidgets-dev libkf6purpose-dev libkf6wallet-dev qt6-speech-dev libtiff-dev libkf6pty-dev libpoppler-qt6-dev libspectre-dev libphonon4qt6-dev libzip-dev libdjvulibre-dev libmarkdown2-dev libqmobipocket6-dev libepub-dev - eatmydata apt-get install --yes --no-install-recommends ninja-build script: - mkdir -p build && cd build # Remove the exiv part one Ununtu has it # remove this line once ubuntu has plasma-activities - sed -i 's/PlasmaActivities REQUIRED/PlasmaActivities/' ../CMakeLists.txt - cmake -DOKULAR_UI=desktop -G Ninja .. -DFORCE_NOT_REQUIRED_DEPENDENCIES="KExiv2Qt6" - ninja build_clazy_clang_tidy: stage: build image: invent-registry.kde.org/sysadmin/ci-images/suse-qt67:latest tags: - Linux interruptible: true before_script: - git clone https://invent.kde.org/sysadmin/ci-utilities.git --depth=1 - git clone https://invent.kde.org/sysadmin/repo-metadata.git ci-utilities/repo-metadata/ --depth=1 only: - merge_requests variables: KDECI_CC_CACHE: /mnt/caches/suse-qt6.7/ KDECI_CACHE_PATH: /mnt/artifacts/suse-qq6.7/ KDECI_GITLAB_SERVER: https://invent.kde.org/ KDECI_PACKAGE_PROJECT: teams/ci-artifacts/suse-qt6.7 CLAZY_CHECKS: level0,level1,level2,no-ctor-missing-parent-argument,isempty-vs-count,qhash-with-char-pointer-key,raw-environment-function,qproperty-type-mismatch CXXFLAGS: -Werror -Wno-deprecated-declarations CC: clang CXX: clazy script: - git config --global --add safe.directory $CI_PROJECT_DIR - python3 -u ci-utilities/run-ci-build.py --project $CI_PROJECT_NAME --branch $CI_COMMIT_REF_NAME --platform Linux/Qt6/Shared --only-setup-environment - mkdir -p /tmp/okular_build - cd /tmp/okular_build - cmake -DOKULAR_UI=both -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -G Ninja -DCMAKE_INSTALL_PREFIX=$CI_PROJECT_DIR/_install -DFORCE_NOT_REQUIRED_DEPENDENCIES=KF6DocTools -DKF6DocTools_FOUND=false $CI_PROJECT_DIR - cat compile_commands.json | jq '[.[] | select(.file | contains("'"$CI_PROJECT_DIR"'"))]' > compile_commands.aux.json - cat compile_commands.aux.json | jq '[.[] | select(.file | contains("/synctex/")| not)]' > compile_commands.json - cp "$CI_PROJECT_DIR/.clang-tidy" . - CLAZY_IGNORE_DIRS="settings_core.[cpp|h]|settings.[cpp.h]|pdfsettings.h|gssettings.h|ui_selectcertificatedialog.h" ninja -k 0 - run-clang-tidy clang_format: stage: build image: debian:stable tags: - Linux only: - merge_requests - master before_script: - apt-get update - apt-get install --yes --no-install-recommends git clang-format-16 script: - find . \( -name "*.cpp" -or -name "*.h" -or -name "*.c" -or -name "*.cc" \) -exec clang-format-16 -i {} \; - git diff --exit-code