.gitlab-ci.yml 2.56 KB
Newer Older
1 2 3
variables:
  GIT_SUBMODULE_STRATEGY: normal

4
linux:
5
    image: registry.videolan.org/medialibrary:20190531150343
6 7 8 9 10 11 12 13
    tags:
      - debian
      - amd64
    script:
      - ./bootstrap
      - ./configure --enable-tests
      - make -j4
      - make -j4 check
14
      - ./unittest
15
      - ./samples -vv
16

17
win32:
18
    image: registry.videolan.org/medialibrary-win32:20190625083440
19 20 21 22 23 24 25 26
    tags:
      - win32
    script:
      - export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/prefix/lib/pkgconfig"
      - ./bootstrap
      - ./configure --enable-tests --host=i686-w64-mingw32 --disable-shared
      - make -j4
      - make -j4 check
27 28 29 30
      - cp /prefix/dll/libvlc.dll .
      - cp /prefix/dll/libvlccore.dll .
      - ln -s /prefix/lib/vlc/plugins/ .
      - wine unittest.exe
31
      - wine samples.exe -vv
32

33
win64:
34
    image: registry.videolan.org/medialibrary-win64:20190625085114
35 36 37 38 39 40 41 42
    tags:
      - win64
    script:
      - export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/prefix/lib/pkgconfig"
      - ./bootstrap
      - ./configure --enable-tests --host=x86_64-w64-mingw32 --disable-shared
      - make -j4
      - make -j4 check
43 44 45 46
      - cp /prefix/dll/libvlc.dll .
      - cp /prefix/dll/libvlccore.dll .
      - ln -s /prefix/lib/vlc/plugins/ .
      - wine unittest.exe
47
      - wine samples.exe -vv
48

49
coverage:
50
    image: registry.videolan.org/medialibrary:20190531150343
51 52 53 54
    tags:
      - debian
      - amd64
    only:
55 56
      refs:
        - master
57 58 59 60 61 62 63 64 65 66
    script:
        - ./bootstrap
        - CXXFLAGS='--coverage -g -O0' LDFLAGS='--coverage -g -O0' ./configure --enable-tests
        - make -j4 check
        - ./unittest && ./samples
        - lcov --capture --directory . -o coverage.info
        - lcov --remove coverage.info "/usr/*" -o coverage.info
        - lcov --remove coverage.info "/prefix/*" -o coverage.info
        - lcov --remove coverage.info "$CI_PROJECT_DIR/test/*" -o coverage.info
        - lcov --remove coverage.info "$CI_PROJECT_DIR/googletest/*" -o coverage.info
67
        - lcov --remove coverage.info "$CI_PROJECT_DIR/src/logging/*" -o coverage.info
68 69 70 71 72 73 74
        - lcov --summary coverage.info
        - genhtml coverage.info --output-directory html/
    artifacts:
        name: "coverage-medialibrary-$CI_COMMIT_SHORT_SHA"
        paths:
            - html/

75
asan-ubsan:
76
    image: registry.videolan.org/medialibrary:20190531150343
77 78 79
    tags:
      - debian
      - amd64
80 81
    variables:
      LSAN_OPTIONS: 'detect_leaks=0'
82 83 84 85 86 87
    script:
      - ./bootstrap
      - ./configure --enable-tests CXXFLAGS="-g -O1 -fsanitize=address,undefined"
      - make -j4
      - make -j4 check
      - ./unittest
88
      - ./samples -vv