blob: 640fd71695b3a048aaeeea1a660fcf9223ef0498 (
plain)
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
# Dependencies are managed in the Dockerfile in the inkscape-ci-docker
# Git repository. Change them there, wait a bit, and then we'll use
# the new ones here in these builds.
image: registry.gitlab.com/inkscape/inkscape-ci-docker/master
variables:
GIT_DEPTH: "10"
cache:
paths:
- ccache/
# Building inkscape
inkscape:linux:
stage: build
before_script:
# CCache Config
- mkdir -p ccache
- export CCACHE_BASEDIR=${PWD}
- export CCACHE_DIR=${PWD}/ccache
script:
- mkdir -p build/conf
- ln -s . share/inkscape
- cd build
- cmake .. -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX:PATH=$PWD/install_dir/
- make -j3 install
- make -j3 tests
- cd ..
artifacts:
expire_in: 1 year
paths:
- build/
inkscape:mac:
stage: build
tags:
- mac
only:
- branches@inkscape/inkscape
before_script:
- brew update
- brew upgrade
# Tools
- brew install cmake intltool libtool pkg-config ccache
# Libraries
- brew install bdw-gc boost gdl gettext gsl gtkmm3 gtkspell3 imagemagick@6 jemalloc libcdr libvisio libyaml libwpg pango popt poppler potrace libsoup
# Testing tools
# TODO
# Cleanup
- brew cleanup
# CCache Config
- mkdir -p ccache
- export CCACHE_BASEDIR=${PWD}
- export CCACHE_DIR=${PWD}/ccache
script:
- mkdir -p build
- cd build
- cmake .. -DCMAKE_PREFIX_PATH="/usr/local/opt/gettext;/usr/local/opt/imagemagick@6/;/usr/local/opt/icu4c/" -DWITH_OPENMP=OFF -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=Debug
- make -j1
- cd ..
artifacts:
expire_in: 1 year
paths:
- build/
allow_failure: true
# This job is a static analysis build by clang.
# It takes MORE THAN 3 HOURS, and depending on worker sometimes 4 hours.
# Make sure the timeout of the build is big enough
clang:
stage: build
only:
- schedules
script:
- apt-get update -yqq && apt-get install -y clang-3.8 clang
- mkdir -p clang-build
- cd clang-build
- scan-build cmake .. -DCMAKE_BUILD_TYPE=Debug
- VERBOSE=1 scan-build -o ../scan make -j2
artifacts:
paths:
- scan/
test:linux:
stage: test
dependencies:
- inkscape:linux
script:
- cd build
- make test
- ctest -V
# uploads the clang scan to user.gitlab.io/inkscape/
pages:
stage: deploy
when: manual
dependencies:
- clang
script:
- if test -e scan; then cp -r scan/* public; fi
artifacts:
paths:
- public
only:
- master
|