mirror of
https://invent.kde.org/graphics/okular
synced 2024-10-12 10:53:09 +00:00
89 lines
3.7 KiB
YAML
89 lines
3.7 KiB
YAML
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/craft-android-qt6-apks.yml
|
|
|
|
#build_ubuntu_22_04:
|
|
# stage: build
|
|
# image: ubuntu:22.04
|
|
# tags:
|
|
# - Linux
|
|
# only:
|
|
# - merge_requests
|
|
# before_script:
|
|
# - sed -i -e 's/# deb-src/deb-src/g' /etc/apt/sources.list
|
|
# - apt-get update
|
|
# - apt-get install --yes eatmydata
|
|
# - eatmydata apt-get build-dep --yes --no-install-recommends okular
|
|
# - eatmydata apt-get install --yes --no-install-recommends ninja-build libqt5x11extras5-dev
|
|
# script:
|
|
# - mkdir -p build && cd build
|
|
# - cmake -DOKULAR_UI=desktop -G Ninja ..
|
|
# - ninja
|
|
|
|
build_clazy_clang_tidy:
|
|
stage: build
|
|
image: invent-registry.kde.org/sysadmin/ci-images/suse-qt66: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.6/
|
|
KDECI_CACHE_PATH: /mnt/artifacts/suse-qq6.6/
|
|
KDECI_GITLAB_SERVER: https://invent.kde.org/
|
|
KDECI_PACKAGE_PROJECT: teams/ci-artifacts/suse-qt6.6
|
|
CLAZY_CHECKS: level0,level1,level2,no-ctor-missing-parent-argument,isempty-vs-count,qhash-with-char-pointer-key,raw-environment-function,qproperty-type-mismatch,no-no-module-include,no-strict-iterators,no-lambda-unique-connection
|
|
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/Qt5/Shared --only-setup-environment
|
|
# Default UI
|
|
- mkdir -p /tmp/okular_build
|
|
- cd /tmp/okular_build
|
|
- cmake -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
|
|
- rm -rf *
|
|
# Mobile UI
|
|
- echo "Now compiling the mobile UI"
|
|
- mkdir -p /tmp/okular_build
|
|
- cd /tmp/okular_build
|
|
- cmake -DOKULAR_UI=mobile -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_mobile.[cpp|h]|settings.[cpp.h]|pdfsettings.h|gssettings.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-13
|
|
script:
|
|
- find . \( -name "*.cpp" -or -name "*.h" -or -name "*.c" -or -name "*.cc" \) -exec clang-format-13 -i {} \;
|
|
- git diff --exit-code
|