summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: 171c44555b006ef78edc790e125a8c62db5c8b1e (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
image: debian:unstable
variables:
  DEBIAN_FRONTEND: noninteractive
  CCACHE_DIR: $CI_PROJECT_DIR/.ccache
  CCACHE_BASEDIR: $CI_PROJECT_DIR
  APT_CMAKE_BUILD_OPTIONS: ''
  DEB_BUILD_PROFILES: ''
cache:
  paths:
    - .ccache
before_script:
    - rm -f /etc/dpkg/dpkg.cfg.d/excludes
    - apt-get update
    - apt-get install --no-install-recommends -qq build-essential expect sudo ccache moreutils adduser
    - adduser --home /home/travis travis --quiet --disabled-login --gecos "" --uid 1000
    - chmod 755 /root
    - chmod -R o+rwX $PWD
    - ./prepare-release travis-ci
    - sudo -u travis mkdir -p build .ccache
    - sudo -u travis env -C build cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache ${APT_CMAKE_BUILD_OPTIONS} -G Ninja ..
    - sudo -u travis --preserve-env=CCACHE_DIR,CCACHE_BASEDIR ninja -C build

test as root:
  stage: test
  variables:
    APT_CMAKE_BUILD_OPTIONS: '-DWITH_DOC=OFF -DUSE_NLS=OFF'
    DEB_BUILD_PROFILES: 'nodoc'
  script:
    - CTEST_OUTPUT_ON_FAILURE=1 ninja -C build test
    - unbuffer ./test/integration/run-tests -q -j 4

test as user:
  image: i386/debian:unstable
  stage: test
  script:
    - apt-get install --no-install-recommends -qq libxml2-utils
    - ./prepare-release post-build --report-failure
    - sudo -u travis CTEST_OUTPUT_ON_FAILURE=1 ninja -C build test
    - chmod -R o-w $PWD
    - sudo -u travis unbuffer ./test/integration/run-tests -q -j 4