Module: vkd3d Branch: master Commit: e85e2417d54c42f7b9e0830dab9426c47b052644 URL: https://gitlab.winehq.org/wine/vkd3d/-/commit/e85e2417d54c42f7b9e0830dab9426...
Author: Giovanni Mascellani gmascellani@codeweavers.com Date: Fri Sep 22 23:13:25 2023 +0200
ci: Build vkd3d with MinGW too.
Nowadays vkd3d is probably most commonly used compiled as PE rather then ELF, so it makes sense to at least ensure that compilation succeeds. In the future it would be nice to somehow test these binaries as well.
---
gitlab/build-mingw | 24 ++++++++++++++++++++++++ gitlab/build.yml | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+)
diff --git a/gitlab/build-mingw b/gitlab/build-mingw new file mode 100755 index 00000000..0f9ab3a6 --- /dev/null +++ b/gitlab/build-mingw @@ -0,0 +1,24 @@ +#!/bin/bash + +echo "Building $(git log -1)" +echo "---" + +COMMIT=$(printf '%03d-%s' $(git cherry $CI_MERGE_REQUEST_DIFF_BASE_SHA HEAD^ | wc -l) $(git rev-parse --short HEAD)) + +set -Eeuxo pipefail + +./autogen.sh +rm -fr build +mkdir build +cd build +mkdir vulkan-headers +cp -r /usr/include/vulkan /usr/include/vk_video /usr/include/spirv vulkan-headers +../configure --enable-demos --disable-doxygen-doc --without-ncurses --host=$HOST SONAME_LIBVULKAN="vulkan-1.dll" CPPFLAGS="-I$PWD/vulkan-headers" CFLAGS="-g -O2 -Wno-format -Wno-array-bounds" LDFLAGS="-static-libgcc" && \ + make -j$(nproc) && \ + make -j$(nproc) install DESTDIR="$PWD/destdir" || \ + touch ../pipeline_failed + +mkdir -p ../artifacts/$COMMIT +cp destdir/usr/local/bin/* ../artifacts/$COMMIT + +git reset --hard diff --git a/gitlab/build.yml b/gitlab/build.yml index e78e7081..6a260510 100644 --- a/gitlab/build.yml +++ b/gitlab/build.yml @@ -82,6 +82,41 @@ build-crosstest: 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: build-image + 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: