diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 20:38:23 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 20:38:23 +0000 |
commit | ff6e3c025658a5fa1affd094f220b623e7e1b24b (patch) | |
tree | 9faab72d69c92d24e349d184f5869b9796f17e0c /.gitlab-ci.yml | |
parent | Initial commit. (diff) | |
download | libplacebo-upstream.tar.xz libplacebo-upstream.zip |
Adding upstream version 6.338.2.upstream/6.338.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | .gitlab-ci.yml | 180 |
1 files changed, 180 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..5d287ad --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,180 @@ +stages: + - compile + - test + - sanitize + +variables: + GIT_SUBMODULE_STRATEGY: recursive + IMAGE_UBUNTU_JAMMY: registry.videolan.org/libplacebo-ubuntu-jammy:20230730213642 + IMAGE_UBUNTU_JAMMY_AARCH: registry.videolan.org/libplacebo-ubuntu-jammy-aarch64:20230203024122 + +linux: + image: $IMAGE_UBUNTU_JAMMY + stage: compile + tags: + - docker + - amd64 + script: + - meson build --buildtype release + --werror + -Dtests=true + -Dshaderc=enabled + -Dglslang=enabled + - ninja -C build + +static: + image: $IMAGE_UBUNTU_JAMMY + stage: compile + tags: + - docker + - amd64 + script: + - meson build --buildtype release + --default-library static + --werror + -Dshaderc=enabled + -Dglslang=enabled + - ninja -C build + +win32: + image: $IMAGE_UBUNTU_JAMMY + stage: compile + tags: + - docker + - amd64 + script: + - meson build --buildtype release + --werror + -Dtests=true + -Ddebug-abort=true + -Dd3d11=enabled + --cross-file /opt/crossfiles/i686-w64-mingw32.meson + - ninja -C build + - cd build && meson test -t 5 -v --num-processes=1 + +win64: + image: $IMAGE_UBUNTU_JAMMY + stage: compile + tags: + - docker + - amd64 + script: + - meson build --buildtype release + --werror + -Dtests=true + -Ddebug-abort=true + -Dd3d11=enabled + --cross-file /opt/crossfiles/x86_64-w64-mingw32.meson + - ninja -C build + - cd build && meson test -t 5 -v --num-processes=1 + +aarch64: + image: $IMAGE_UBUNTU_JAMMY_AARCH + stage: compile + tags: + - docker + - aarch64 + script: + - meson build --buildtype release --werror -Dtests=true + - ninja -C build + - cd build && meson test -t 5 -v --num-processes=1 + +macos: + stage: compile + tags: + - amd64 + - monterey + script: + - meson build --buildtype release + -Ddefault_library=both + -Dtests=true + -Ddebug-abort=true + -Dc_args='-mmacosx-version-min=10.11 -Wunguarded-availability' + --werror + - ninja -C build + - cd build && meson test -t 5 -v --num-processes=1 + +scan: + image: $IMAGE_UBUNTU_JAMMY + stage: compile + tags: + - docker + - amd64 + script: + - env CC=clang CXX=clang++ CC_LD=lld CXX_LD=lld + meson build --buildtype debugoptimized + --werror + -Dtests=true + -Dbench=true + -Dshaderc=enabled + -Dglslang=enabled + - ninja -C build scan-build + +llvmpipe: + image: $IMAGE_UBUNTU_JAMMY + stage: test + tags: + - docker + - amd64 + script: + - meson build --buildtype release + --werror + -Dtests=true + -Ddebug-abort=true + -Dc_args='-DCI_ALLOW_SW -DCI_MAXGL' + -Dshaderc=enabled + -Dglslang=enabled + - ninja -C build + - cd build && meson test -t 20 -v --num-processes=1 + +gpu: + image: $IMAGE_UBUNTU_JAMMY + stage: test + tags: + - gpu + script: + - meson build --buildtype release + --werror + -Dtests=true + -Ddemos=false + -Ddebug-abort=true + -Dshaderc=enabled + -Dglslang=enabled + -Db_coverage=true + - ninja -C build + - vulkaninfo + - cd build && meson test -t 5 -v --num-processes=1 + - 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 } ' + coverage: '/^coverage: (\d+.\d+)$/' + artifacts: + expose_as: 'Coverage HTML report' + paths: + - coverage/ + reports: + coverage_report: + coverage_format: cobertura + path: build/meson-logs/coverage.xml + +sanitize: + image: $IMAGE_UBUNTU_JAMMY + stage: sanitize + tags: + - gpu + variables: + UBSAN_OPTIONS: 'print_stacktrace=1:halt_on_error=1' + script: + - env CC=clang CXX=clang++ CC_LD=lld CXX_LD=lld + meson build --buildtype debugoptimized + --werror + -Dtests=true + -Ddebug-abort=true + -Dc_args='-DCI_MAXGL -Wno-deprecated-declarations' + -Db_sanitize=address,undefined + -Db_lundef=false + -Dshaderc=enabled + - ninja -C build + - cd build && time meson test -t 5 -v --num-processes=1 |