forked from KDE/okular
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitlab-ci.yml
54 lines (50 loc) · 2.6 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
include:
- https://invent.kde.org/sysadmin/ci-tooling/raw/master/invent/ci-before.yml
- https://invent.kde.org/sysadmin/ci-tooling/raw/master/invent/ci-applications-linux.yml
build_ubuntu_18_04:
stage: build
image: ubuntu:bionic
only:
- merge_requests
before_script:
- sed -i -e 's/# deb-src/deb-src/g' /etc/apt/sources.list
- apt-get update
- apt-get build-dep --yes --no-install-recommends okular
- apt-get install --yes --no-install-recommends ninja-build libkf5crash-dev
script:
- mkdir -p build && cd build
- cmake -G Ninja ..
- ninja
build_ubuntu_20_04:
stage: build
image: ubuntu:focal
only:
- merge_requests
before_script:
- sed -i -e 's/# deb-src/deb-src/g' /etc/apt/sources.list
- apt-get update
- apt-get build-dep --yes --no-install-recommends okular
- apt-get install --yes --no-install-recommends ninja-build
script:
- mkdir -p build && cd build
- cmake -DOKULAR_UI=desktop -G Ninja ..
- ninja
- rm -rf *
- cmake -DOKULAR_UI=mobile -G Ninja ..
- ninja
build_clang_tidy:
stage: build
image: debian:unstable
only:
- merge_requests
before_script:
- echo 'deb-src http://deb.debian.org/debian unstable main' >> /etc/apt/sources.list
- apt-get update
- apt-get build-dep --yes --no-install-recommends okular
- apt-get install --yes --no-install-recommends ninja-build clang clang-tidy python python-yaml libkf5crash-dev libkf5purpose-dev libegl-dev jq
script:
- srcdir=`pwd` && mkdir -p /tmp/okular_build && cd /tmp/okular_build && CC=clang CXX=clang++ 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
- ninja
# Fix the poppler header, remove when debian:unstable ships poppler 0.82 or later
- sed -i "N;N;N;N; s#class MediaRendition\;\nclass MovieAnnotation\;\nclass ScreenAnnotation;#class MediaRendition\;#g" /usr/include/poppler/qt5/poppler-link.h
- "run-clang-tidy -header-filter='.*/okular/.*' -checks='-*,performance-*,bugprone-*,readability-inconsistent-declaration-parameter-name,readability-string-compare,modernize-redundant-void-arg,modernize-use-bool-literals,modernize-make-unique,modernize-make-shared,modernize-use-override,modernize-use-equals-delete,modernize-use-emplace,modernize-loop-convert,-bugprone-macro-parentheses,-bugprone-narrowing-conversions,-bugprone-branch-clone,-bugprone-incorrect-roundings' -config=\"{WarningsAsErrors: '*'}\""