aboutsummaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: 46e58a9b3deae8d91ff5a56961174d9c4d631a58 (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
image: fedora:latest

variables:
  DEPS: meson ninja-build
        gcc pkg-config glib2-devel
        mingw64-gcc mingw64-pkg-config mingw64-glib2
        clang-analyzer git-core

before_script:
  - dnf install -y $DEPS
  - git fetch --tags https://gitlab.freedesktop.org/slirp/libslirp.git
  - git describe

build:
  script:
    - meson --werror build || (cat build/meson-logs/meson-log.txt && exit 1)
    - ninja -C build
    - (cd build && meson test) || (cat build/meson-logs/testlog.txt && exit 1)
    - ninja -C build scan-build

build-mingw64:
  script:
    - (mkdir buildw && cd buildw && mingw64-meson --werror) || (cat buildw/meson-logs/meson-log.txt && exit 1)
    - ninja -C buildw

Coverity:
  only:
    refs:
      - master
      - coverity
  script:
  - dnf update -y
  - dnf install -y curl clang
  - curl -o /tmp/cov-analysis-linux64.tgz https://scan.coverity.com/download/linux64
    --form project=$COVERITY_SCAN_PROJECT_NAME --form token=$COVERITY_SCAN_TOKEN
  - tar xfz /tmp/cov-analysis-linux64.tgz
  - CC=clang meson build
  - cov-analysis-linux64-*/bin/cov-build --dir cov-int ninja -C build
  - tar cfz cov-int.tar.gz cov-int
  - curl https://scan.coverity.com/builds?project=$COVERITY_SCAN_PROJECT_NAME
    --form token=$COVERITY_SCAN_TOKEN --form email=$GITLAB_USER_EMAIL
    --form file=@cov-int.tar.gz --form version="`git describe --tags`"
    --form description="`git describe --tags` / $CI_COMMIT_TITLE / $CI_COMMIT_REF_NAME:$CI_PIPELINE_ID "