.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 allow_failure: exit_codes: - 2 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 variables: TART_EXECUTOR_SSH_USERNAME: "gitlab" TART_EXECUTOR_SSH_PASSWORD: "gitlab" allow_failure: true interruptible: true needs: - job: image-mac optional: true dependencies: [] tags: - mac script: - brew install vulkan-tools libtool spirv-headers vulkan-loader - 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/giomasce%2Fvkd3d/jobs/artifacts/ci-image/download?job=image-mac - unzip image.zip - mkdir artifacts - export PATH="/opt/homebrew/opt/bison/bin:/opt/homebrew/opt/flex/bin:$PWD/image/bin:$PATH" - export VK_DRIVER_FILES="$PWD/image/moltenvk/MoltenVK_icd.json" - 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" artifacts: when: always paths: - artifacts