Skip to content
Snippets Groups Projects
.gitlab-ci.yml 5.41 KiB
Newer Older
stages:
    - build
    - test

build-ubuntu:
    image: registry.videolan.org/libplacebo-ubuntu-eoan:20200521131745
    stage: build
    tags:
        - amd64
    script:
        - meson build --buildtype release
                      --werror
                      -Dtests=true
                      -Dshaderc=enabled
                      -Dglslang=enabled
        - ninja -C build
        - cd build && meson test -t 5 -v

build-ubuntu-static:
    image: registry.videolan.org/libplacebo-ubuntu-eoan:20200521131745
    stage: build
    tags:
        - amd64
    script:
        - meson build --buildtype release
                      --default-library static
                      --werror
                      -Dtests=true
                      -Dshaderc=enabled
                      -Dglslang=enabled
        - ninja -C build
        - cd build && meson test -t 5 -v

build-win32:
    image: registry.videolan.org/libplacebo-ubuntu-eoan:20200521131745
    stage: build
    tags:
    script:
        - meson build --buildtype release
                      --werror
                      -Dtests=true
                      --libdir lib
                      --cross-file /opt/crossfiles/i686-w64-mingw32.meson
        - ninja -C build
        - cd build && meson test -t 5 -v

build-win64:
    image: registry.videolan.org/libplacebo-ubuntu-eoan:20200521131745
    stage: build
    tags:
    script:
        - meson build --buildtype release
                      --werror
                      -Dtests=true
                      --libdir lib
                      --cross-file /opt/crossfiles/x86_64-w64-mingw32.meson
        - ninja -C build
        - cd build && meson test -t 5 -v
build-aarch64:
    image: registry.videolan.org/libplacebo-ubuntu-eoan-aarch64:20200525090115
    stage: build
    tags:
        - aarch64
    script:
        - meson build --buildtype release --werror -Dtests=true
        - ninja -C build
        - cd build && meson test -t 5 -v

build-macos:
    stage: build
    tags:
        - macos
    script:
        - meson build --buildtype release
                      -Ddefault_library=both
                      -Dtests=true
                      --werror
        - ninja -C build
        - cd build && meson test -t 5 -v
test-ubuntu-scan:
    image: registry.videolan.org/libplacebo-ubuntu-eoan:20200521131745
    stage: test
    tags:
        - amd64
    script:
        - env CC=clang meson build --buildtype debugoptimized
                                   --werror
                                   -Dtests=true
                                   -Dshaderc=enabled
                                   -Dglslang=enabled
        - ninja -C build scan-build

test-gpu:
    image: registry.videolan.org/libplacebo-ubuntu-eoan:20200521131745
    stage: test
    tags:
        - gpu
    script:
        - meson build --buildtype release
                      --werror
                      -Dtests=true
                      -Dc_args='-DCI_BLACKLIST_COMPUTE'
                      -Dshaderc=disabled
                      -Db_coverage=true
        - ninja -C build
        - vulkaninfo
        - cd build && meson test -t 5 -v
        - ninja coverage-html
        - mv meson-logs/coveragereport ../coverage
        - ninja coverage-xml
        - grep -Eo 'line-rate="[^"]+"' meson-logs/coverage.xml | head -n 1 |
          grep -Eo '[0-9.]+' | awk '{ print "coverage:", $1 * 100 } '
Niklas Haas's avatar
Niklas Haas committed
    coverage: '/^coverage: (\d+.\d+)$/'
Niklas Haas's avatar
Niklas Haas committed
        expose_as: 'Coverage HTML report'
Niklas Haas's avatar
Niklas Haas committed
            - coverage/
        reports:
            cobertura: build/meson-logs/coverage.xml

test-gpu-asan:
    image: registry.videolan.org/libplacebo-ubuntu-eoan:20200521131745
    stage: test
    tags:
        - gpu
    variables:
        ASAN_OPTIONS: 'detect_leaks=0'
    script:
        - meson build --buildtype debugoptimized
                      -Dtests=true
                      -Dc_args='-DCI_BLACKLIST_COMPUTE'
                      -Dshaderc=disabled
                      -Db_sanitize=address
        - ninja -C build
        - cd build && time meson test -t 5 -v
test-gpu-msan:
    image: registry.videolan.org/libplacebo-ubuntu-eoan:20200521131745
    stage: test
    tags:
    variables:
        MSAN_OPTIONS: 'exitcode=1'
    script:
        - env CC=clang meson build --buildtype debugoptimized
                                   -Dtests=true
                                   -Dc_args='-DCI_BLACKLIST_COMPUTE -DMSAN'
                                   -Dglslang=disabled
                                   -Db_sanitize=memory
                                   -Db_lundef=false
        - ninja -C build
        - cd build && time meson test -t 5 -v
test-gpu-ubsan:
    image: registry.videolan.org/libplacebo-ubuntu-eoan:20200521131745
    stage: test
    tags:
    variables:
        UBSAN_OPTIONS: 'print_stacktrace=1:halt_on_error=1'
    script:
        - env CC=clang meson build --buildtype debugoptimized
                                   -Dtests=true
                                   -Dc_args='-DCI_BLACKLIST_COMPUTE -fPIE'
                                   -Dshaderc=disabled
                                   -Db_sanitize=undefined
                                   -Db_lundef=false
        - ninja -C build
        - cd build && time meson test -t 5 -v