okular/.gitlab-ci.yml
Sune Vuorela acfd1b2bfe Disable ubuntu lts ci.
When going Qt6 soon, this will not work anyways, and it can help
porting today when we can port to newer KDE Frameworks
2023-12-12 10:00:01 +01:00

69 lines
3.3 KiB
YAML

variables:
DEBIAN_FRONTEND: "noninteractive"
include:
- project: sysadmin/ci-utilities
file:
- /gitlab-templates/android.yml
- /gitlab-templates/linux.yml
- /gitlab-templates/freebsd.yml
- /gitlab-templates/windows.yml
- /gitlab-templates/craft-android-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: debian:unstable
tags:
- Linux
only:
- merge_requests
before_script:
- echo 'deb-src http://deb.debian.org/debian unstable main' >> /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 clazy clang clang-tidy-14 libqt5x11extras5-dev libkf5crash-dev libkf5purpose-dev kirigami2-dev libegl-dev jq
script:
- srcdir=`pwd` && mkdir -p /tmp/okular_build && cd /tmp/okular_build && CC=clang CXX=clazy CXXFLAGS="-Werror -Wno-deprecated-declarations" cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -G Ninja $srcdir && cat compile_commands.json | jq '[.[] | select(.file | contains("'"$srcdir"'"))]' > compile_commands.aux.json && cat compile_commands.aux.json | jq '[.[] | select(.file | contains("/synctex/")| not)]' > compile_commands.json && cp "$srcdir/.clang-tidy" .
- CLAZY_IGNORE_DIRS="settings_core.[cpp|h]|settings.[cpp.h]|pdfsettings.h|gssettings.h|ui_selectcertificatedialog.h" CLAZY_CHECKS="level0,level1,level2,no-ctor-missing-parent-argument,isempty-vs-count,qhash-with-char-pointer-key,raw-environment-function,qproperty-type-mismatch" ninja
- run-clang-tidy-14
- rm -rf *
- echo "Now compiling the mobile UI"
- cd "$CI_PROJECT_DIR"
- srcdir=`pwd` && mkdir -p /tmp/okular_build && cd /tmp/okular_build && CC=clang CXX=clazy CXXFLAGS="-Werror -Wno-deprecated-declarations" cmake -DOKULAR_UI=mobile -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -G Ninja $srcdir && cat compile_commands.json | jq '[.[] | select(.file | contains("'"$srcdir"'"))]' > compile_commands.aux.json && cat compile_commands.aux.json | jq '[.[] | select(.file | contains("/synctex/")| not)]' > compile_commands.json && cp "$srcdir/.clang-tidy" .
- CLAZY_IGNORE_DIRS="settings_mobile.[cpp|h]|settings.[cpp.h]|pdfsettings.h|gssettings.h" CLAZY_CHECKS="level0,level1,level2,no-ctor-missing-parent-argument,isempty-vs-count,qhash-with-char-pointer-key,raw-environment-function,qproperty-type-mismatch" ninja
- run-clang-tidy-14
clang_format:
stage: build
image: debian:testing
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