vkd3d/gitlab/build.yml
Giovanni Mascellani 72394d9ae3 vkd3d: Use WARN rather than ERR in vkd3d_instance_init().
ERR is used to indicate internal inconsistencies in vkd3d. Here that's
not the case, we simply have to forward the error condition to the
caller.

This fixes failures on the CI with llvmpipe, because the build we use is
compiled without support for VK_KHR_surface and related extensions.
2024-11-14 14:09:04 +01:00

173 lines
4.8 KiB
YAML

.build-linux:
stage: build
rules:
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
image: $CI_REGISTRY/wine/vkd3d:debian-bookworm
interruptible: true
needs:
- job: image-linux
optional: true
dependencies: []
script:
- git config --global --add safe.directory $CI_PROJECT_DIR
- git clean -fdx
- git reset --hard
- rm -fr .git/rebase-merge
- mkdir artifacts
- cat /proc/cpuinfo > artifacts/cpuinfo.txt
- cat /proc/meminfo > artifacts/meminfo.txt
- vulkaninfo > artifacts/vulkaninfo.txt
- git rebase $CI_MERGE_REQUEST_DIFF_BASE_SHA --exec ./gitlab/build-linux
- if [ -f build_failed ] ; then exit 1 ; fi
- if [ -f tests_failed ] ; then exit 2 ; fi
artifacts:
when: always
paths:
- artifacts
build-radv-64:
extends: .build-linux
tags:
- amd-gpu
variables:
VK_LOADER_DRIVERS_SELECT: 'radeon_*'
VKD3D_SHADER_CONFIG: 'force_validation'
build-llvmpipe-64:
extends: .build-linux
allow_failure:
exit_codes:
- 2
variables:
VK_LOADER_DRIVERS_SELECT: 'lvp_*'
VKD3D_SHADER_CONFIG: 'force_validation'
build-radv-32:
extends: .build-linux
tags:
- amd-gpu
variables:
VK_LOADER_DRIVERS_SELECT: 'radeon_*'
CC: 'i686-linux-gnu-gcc'
VKD3D_SHADER_CONFIG: 'force_validation'
build-llvmpipe-32:
extends: .build-linux
allow_failure:
exit_codes:
- 2
variables:
VK_LOADER_DRIVERS_SELECT: 'lvp_*'
CC: 'i686-linux-gnu-gcc'
VKD3D_SHADER_CONFIG: 'force_validation'
build-llvmpipe-64-mesa24:
extends: .build-linux
variables:
VK_DRIVER_FILES: '/opt/mesa24/share/vulkan/icd.d/lvp_icd.x86_64.json'
LD_LIBRARY_PATH: '/opt/mesa24/lib/x86_64-linux-gnu'
__EGL_VENDOR_LIBRARY_FILENAMES: '/opt/mesa24/share/glvnd/egl_vendor.d/50_mesa.json'
VKD3D_SHADER_CONFIG: 'force_validation'
build-crosstest:
stage: build
rules:
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
image: $CI_REGISTRY/wine/vkd3d:debian-bookworm
interruptible: true
needs:
- job: image-linux
optional: true
dependencies: []
script:
- git config --global --add safe.directory $CI_PROJECT_DIR
- git clean -fdx
- git reset --hard
- rm -fr .git/rebase-merge
- mkdir artifacts
- cat /proc/cpuinfo > artifacts/cpuinfo.txt
- cat /proc/meminfo > artifacts/meminfo.txt
- vulkaninfo > artifacts/vulkaninfo.txt
- git rebase $CI_MERGE_REQUEST_DIFF_BASE_SHA --exec ./gitlab/build-crosstest
- if [ -f pipeline_failed ] ; then exit 1 ; fi
artifacts:
when: always
paths:
- artifacts
.build-mingw:
stage: build
rules:
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
image: $CI_REGISTRY/wine/vkd3d:debian-bookworm
interruptible: true
needs:
- job: image-linux
optional: true
dependencies: []
script:
- git config --global --add safe.directory $CI_PROJECT_DIR
- git clean -fdx
- git reset --hard
- rm -fr .git/rebase-merge
- mkdir artifacts
- cat /proc/cpuinfo > artifacts/cpuinfo.txt
- cat /proc/meminfo > artifacts/meminfo.txt
- git rebase $CI_MERGE_REQUEST_DIFF_BASE_SHA --exec ./gitlab/build-mingw
- if [ -f pipeline_failed ] ; then exit 1 ; fi
artifacts:
when: always
paths:
- artifacts
build-mingw-64:
extends: .build-mingw
variables:
HOST: "x86_64-w64-mingw32"
build-mingw-32:
extends: .build-mingw
variables:
HOST: "i686-w64-mingw32"
build-mac:
stage: build
rules:
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
image: winehq-sonoma-pristine
allow_failure: true
interruptible: true
needs:
- job: image-mac
optional: true
dependencies: []
tags:
- mac
script:
- brew install vulkan-tools libtool spirv-headers vulkan-loader mingw-w64
- git config --global --add safe.directory $CI_PROJECT_DIR
- git clean -fdx
- git reset --hard
- rm -fr .git/rebase-merge
- curl -o image.zip https://gitlab.winehq.org/api/v4/projects/wine%2Fvkd3d/jobs/artifacts/master/download?job=image-mac
- unzip image.zip
- mkdir artifacts
- export PATH="/opt/homebrew/opt/bison/bin:/opt/homebrew/opt/flex/bin:$PATH"
- export VK_DRIVER_FILES="$PWD/image/moltenvk/MoltenVK_icd.json"
- export SONAME_LIBDXCOMPILER="$PWD/image/dxc/libdxcompiler.dylib"
- system_profiler SPSoftwareDataType SPHardwareDataType > artifacts/systeminfo.txt
- vulkaninfo > artifacts/vulkaninfo.txt
- git rebase $CI_MERGE_REQUEST_DIFF_BASE_SHA --exec ./gitlab/build-mac
- if [ -f build_failed ] ; then exit 1 ; fi
- if [ -f tests_failed ] ; then exit 2 ; fi
variables:
VKD3D_DISABLE_EXTENSIONS: "VK_EXT_descriptor_indexing"
VKD3D_SHADER_CONFIG: 'force_validation'
MVK_CONFIG_LOG_LEVEL: 2
SONAME_LIBVULKAN: "/opt/homebrew/opt/vulkan-loader/lib/libvulkan.1.dylib"
WIDL: "x86_64-w64-mingw32-widl"
artifacts:
when: always
paths:
- artifacts