Manually disable some warnings that are currently emitted. Eventually the warnings should be solved and -Werror should remain alone.
-- v5: ci: Update the README with some recent changes.
From: Giovanni Mascellani gmascellani@codeweavers.com
Manually disable some warnings that are currently emitted. Eventually the warnings should be solved and -Werror should remain alone. --- gitlab/build-crosstest | 2 +- gitlab/build-linux | 2 +- gitlab/build-mac | 2 +- gitlab/build-mingw | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/gitlab/build-crosstest b/gitlab/build-crosstest index 5561bffb..15b4d031 100755 --- a/gitlab/build-crosstest +++ b/gitlab/build-crosstest @@ -14,7 +14,7 @@ set -Eeuxo pipefail rm -fr build mkdir build cd build -../configure CROSSCC32="i686-w64-mingw32-gcc -Wno-array-bounds" CROSSCC64="x86_64-w64-mingw32-gcc -Wno-array-bounds" && \ +../configure CROSSCC32="i686-w64-mingw32-gcc" CROSSCC64="x86_64-w64-mingw32-gcc" CFLAGS="-g -O2 -Wno-array-bounds -Werror" && \ make -j$(nproc) crosstest || \ touch ../pipeline_failed
diff --git a/gitlab/build-linux b/gitlab/build-linux index 566d772f..cc8faa5b 100755 --- a/gitlab/build-linux +++ b/gitlab/build-linux @@ -11,7 +11,7 @@ set -Eeuxo pipefail rm -fr build mkdir build cd build -../configure --enable-demos && \ +../configure --enable-demos CFLAGS="-g -O2 -Werror" && \ make -j$(nproc) && \ make -j$(nproc) check || \ touch ../pipeline_failed diff --git a/gitlab/build-mac b/gitlab/build-mac index 23c1ea96..aeed0988 100755 --- a/gitlab/build-mac +++ b/gitlab/build-mac @@ -11,7 +11,7 @@ set -Eeuxo pipefail rm -fr build mkdir build cd build -../configure && \ +../configure CFLAGS="-g -O2 -Wno-implicit-fallthrough -Wno-enum-conversion -Werror" && \ make -j$(sysctl -n hw.ncpu) && \ make -j$(sysctl -n hw.ncpu) check || \ touch ../pipeline_failed diff --git a/gitlab/build-mingw b/gitlab/build-mingw index 0f9ab3a6..41483039 100755 --- a/gitlab/build-mingw +++ b/gitlab/build-mingw @@ -13,7 +13,7 @@ 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" && \ +../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 -Wno-missing-prototypes -Wno-discarded-qualifiers -Werror" LDFLAGS="-static-libgcc" && \ make -j$(nproc) && \ make -j$(nproc) install DESTDIR="$PWD/destdir" || \ touch ../pipeline_failed
From: Giovanni Mascellani gmascellani@codeweavers.com
--- gitlab/build-crosstest | 2 +- gitlab/build-linux | 2 +- gitlab/build-mac | 2 +- gitlab/build-mingw | 1 + 4 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/gitlab/build-crosstest b/gitlab/build-crosstest index 15b4d031..38eb3e11 100755 --- a/gitlab/build-crosstest +++ b/gitlab/build-crosstest @@ -19,6 +19,6 @@ cd build touch ../pipeline_failed
mkdir -p ../artifacts/$COMMIT -rsync -Rr tests/*.exe ../artifacts/$COMMIT +rsync -Rr config.log tests/*.exe ../artifacts/$COMMIT
git reset --hard diff --git a/gitlab/build-linux b/gitlab/build-linux index cc8faa5b..661180f5 100755 --- a/gitlab/build-linux +++ b/gitlab/build-linux @@ -17,6 +17,6 @@ cd build touch ../pipeline_failed
mkdir -p ../artifacts/$COMMIT -rsync -Rr doc/* test-suite.log tests/*.log tests/*/*.log ../artifacts/$COMMIT +rsync -Rr config.log doc/* test-suite.log tests/*.log tests/*/*.log ../artifacts/$COMMIT
git reset --hard diff --git a/gitlab/build-mac b/gitlab/build-mac index aeed0988..854bc8e3 100755 --- a/gitlab/build-mac +++ b/gitlab/build-mac @@ -17,6 +17,6 @@ cd build touch ../pipeline_failed
mkdir -p ../artifacts/$COMMIT -rsync -Rr test-suite.log tests/*.log tests/*/*.log ../artifacts/$COMMIT +rsync -Rr config.log test-suite.log tests/*.log tests/*/*.log ../artifacts/$COMMIT
git reset --hard diff --git a/gitlab/build-mingw b/gitlab/build-mingw index 41483039..32b5bea5 100755 --- a/gitlab/build-mingw +++ b/gitlab/build-mingw @@ -19,6 +19,7 @@ cp -r /usr/include/vulkan /usr/include/vk_video /usr/include/spirv vulkan-header touch ../pipeline_failed
mkdir -p ../artifacts/$COMMIT +cp config.log ../artifacts/$COMMIT cp destdir/usr/local/bin/* ../artifacts/$COMMIT
git reset --hard
From: Giovanni Mascellani gmascellani@codeweavers.com
--- gitlab/build-mingw | 2 +- libs/vkd3d-common/blob.c | 1 + libs/vkd3d/vkd3d_private.h | 1 + 3 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/gitlab/build-mingw b/gitlab/build-mingw index 32b5bea5..14a2f7f4 100755 --- a/gitlab/build-mingw +++ b/gitlab/build-mingw @@ -13,7 +13,7 @@ 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 -Wno-missing-prototypes -Wno-discarded-qualifiers -Werror" LDFLAGS="-static-libgcc" && \ +../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 -Wno-missing-prototypes -Werror" LDFLAGS="-static-libgcc" && \ make -j$(nproc) && \ make -j$(nproc) install DESTDIR="$PWD/destdir" || \ touch ../pipeline_failed diff --git a/libs/vkd3d-common/blob.c b/libs/vkd3d-common/blob.c index c46abb55..0f6d5a5e 100644 --- a/libs/vkd3d-common/blob.c +++ b/libs/vkd3d-common/blob.c @@ -18,6 +18,7 @@
#define COBJMACROS #define INITGUID +#define CONST_VTABLE #include "vkd3d.h" #include "vkd3d_blob.h" #include "vkd3d_debug.h" diff --git a/libs/vkd3d/vkd3d_private.h b/libs/vkd3d/vkd3d_private.h index df95352c..e7d3ef71 100644 --- a/libs/vkd3d/vkd3d_private.h +++ b/libs/vkd3d/vkd3d_private.h @@ -22,6 +22,7 @@ #define COBJMACROS #define NONAMELESSUNION #define VK_NO_PROTOTYPES +#define CONST_VTABLE
#ifdef _WIN32 # define _WIN32_WINNT 0x0600 /* for condition variables */
From: Giovanni Mascellani gmascellani@codeweavers.com
For some reason wmain() is not exempted from -Wmissing-prototypes in the same way as main() is. So we just declare a prototype for it. --- demos/gears.c | 3 +++ demos/triangle.c | 3 +++ gitlab/build-mingw | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/demos/gears.c b/demos/gears.c index ab90e0d4..5809648e 100644 --- a/demos/gears.c +++ b/demos/gears.c @@ -888,6 +888,9 @@ static int cxg_main(void) }
#ifdef _WIN32 +/* Do not trigger -Wmissing-prototypes. */ +int wmain(void); + int wmain(void) #else int main(void) diff --git a/demos/triangle.c b/demos/triangle.c index b331da0c..79257ed8 100644 --- a/demos/triangle.c +++ b/demos/triangle.c @@ -401,6 +401,9 @@ static int cxt_main(void) }
#ifdef _WIN32 +/* Do not trigger -Wmissing-prototypes. */ +int wmain(void); + int wmain(void) #else int main(void) diff --git a/gitlab/build-mingw b/gitlab/build-mingw index 14a2f7f4..1334a18a 100755 --- a/gitlab/build-mingw +++ b/gitlab/build-mingw @@ -13,7 +13,7 @@ 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 -Wno-missing-prototypes -Werror" LDFLAGS="-static-libgcc" && \ +../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 -Werror" LDFLAGS="-static-libgcc" && \ make -j$(nproc) && \ make -j$(nproc) install DESTDIR="$PWD/destdir" || \ touch ../pipeline_failed
From: Giovanni Mascellani gmascellani@codeweavers.com
--- gitlab/README | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/gitlab/README b/gitlab/README index ffcb09f6..04fd6111 100644 --- a/gitlab/README +++ b/gitlab/README @@ -14,8 +14,17 @@ The file build.yml contains the actual testing targets. Currently vkd3d is tested on Linux, on x86-64 and i386, each architecture with two different Vulkan drivers (both from Mesa): llvmpipe (a software implementation) and RADV (a hardware implementation backed by an AMD -GPU); and on macOS, on Intel, using MoltenVK as Vulkan driver. The -testing logs are available as CI artifacts. +GPU). vkd3d is also tested on macOS, with an Intel processor, using +MoltenVK as the Vulkan driver. The llvmpipe and macOS jobs are +currently allowed to fail. + +Additionally, MinGW is used to build PE binaries for both vkd3d and +its crosstests, for both 32 and 64 bit. These builds are not currently +tested (but the pipeline still fails if the compilation is not +successful). + +The testing logs are available as CI artifacts, as well as the PE +modules built by the crosstest and MinGW jobs.
Some custom runner configuration is required in order to run the tests on an AMD GPU. Specifically, a runner tagged with `amd-gpu' must be
This merge request was approved by Henri Verbeet.