RUN_TESTS: unittest-in-wine
apt_get: elfutils mingw-w64 wine
- - name: Windows VS2019 32-bit
+ - name: Windows VS2019 32-bit Ninja
os: windows-2019
msvc_arch: x64_x86
allow_test_failures: true # For now, don't fail the build on failure
CMAKE_PARAMS: -DCMAKE_BUILD_TYPE=CI -DZSTD_FROM_INTERNET=ON -DHIREDIS_FROM_INTERNET=ON
TEST_CC: clang -target i686-pc-windows-msvc
- - name: Windows VS2019 64-bit
+ - name: Windows VS2019 32-bit MSBuild
os: windows-2019
+ msvc_arch: x64_x86
+ allow_test_failures: true # For now, don't fail the build on failure
+ CC: cl
+ CXX: cl
+ ENABLE_CACHE_CLEANUP_TESTS: 1
+ CMAKE_GENERATOR: Visual Studio 16 2019
+ CMAKE_PARAMS: -DCMAKE_BUILD_TYPE=CI -DZSTD_FROM_INTERNET=ON -DHIREDIS_FROM_INTERNET=ON -A Win32
+ TEST_CC: clang -target i686-pc-windows-msvc
+
+ - name: Windows VS2019 64-bit Ninja
+ os: windows-2019
+ msvc_arch: x64
+ allow_test_failures: true # For now, don't fail the build on failure
+ CC: cl
+ CXX: cl
+ ENABLE_CACHE_CLEANUP_TESTS: 1
+ CMAKE_GENERATOR: Ninja
+ CMAKE_PARAMS: -DCMAKE_BUILD_TYPE=CI -DZSTD_FROM_INTERNET=ON -DHIREDIS_FROM_INTERNET=ON
+ TEST_CC: clang -target x86_64-pc-windows-msvc
+
+ - name: Windows VS2019 64-bit MSBuild
+ os: windows-2019
+ msvc_arch: x64
+ allow_test_failures: true # For now, don't fail the build on failure
+ CC: cl
+ CXX: cl
+ ENABLE_CACHE_CLEANUP_TESTS: 1
+ CMAKE_GENERATOR: Visual Studio 16 2019
+ CMAKE_PARAMS: -DCMAKE_BUILD_TYPE=CI -DZSTD_FROM_INTERNET=ON -DHIREDIS_FROM_INTERNET=ON -A x64
+ TEST_CC: clang -target x86_64-pc-windows-msvc
+
+ - name: Windows VS2022 32-bit Ninja
+ os: windows-2022
+ msvc_arch: x64_x86
+ allow_test_failures: true # For now, don't fail the build on failure
+ CC: cl
+ CXX: cl
+ ENABLE_CACHE_CLEANUP_TESTS: 1
+ CMAKE_GENERATOR: Ninja
+ CMAKE_PARAMS: -DCMAKE_BUILD_TYPE=CI -DZSTD_FROM_INTERNET=ON -DHIREDIS_FROM_INTERNET=ON
+ TEST_CC: clang -target i686-pc-windows-msvc
+
+ - name: Windows VS2022 32-bit MSBuild
+ os: windows-2022
+ msvc_arch: x64_x86
+ allow_test_failures: true # For now, don't fail the build on failure
+ CC: cl
+ CXX: cl
+ ENABLE_CACHE_CLEANUP_TESTS: 1
+ CMAKE_GENERATOR: Visual Studio 17 2022
+ CMAKE_PARAMS: -DCMAKE_BUILD_TYPE=CI -DZSTD_FROM_INTERNET=ON -DHIREDIS_FROM_INTERNET=ON -A Win32
+ TEST_CC: clang -target i686-pc-windows-msvc
+
+ - name: Windows VS2022 64-bit Ninja
+ os: windows-2022
msvc_arch: x64
allow_test_failures: true # For now, don't fail the build on failure
CC: cl
CMAKE_PARAMS: -DCMAKE_BUILD_TYPE=CI -DZSTD_FROM_INTERNET=ON -DHIREDIS_FROM_INTERNET=ON
TEST_CC: clang -target x86_64-pc-windows-msvc
+ - name: Windows VS2022 64-bit MSBuild
+ os: windows-2022
+ msvc_arch: x64
+ allow_test_failures: true # For now, don't fail the build on failure
+ CC: cl
+ CXX: cl
+ ENABLE_CACHE_CLEANUP_TESTS: 1
+ CMAKE_GENERATOR: Visual Studio 17 2022
+ CMAKE_PARAMS: -DCMAKE_BUILD_TYPE=CI -DZSTD_FROM_INTERNET=ON -DHIREDIS_FROM_INTERNET=ON -A x64
+ TEST_CC: clang -target x86_64-pc-windows-msvc
+
- name: Clang address & UB sanitizer
os: ubuntu-20.04
CC: clang
mkdir -p ${BUILDDIR:-build}
cd ${BUILDDIR:-build}
${CMAKE_PREFIX:-} cmake ${CMAKE_PARAMS:-} ${CCACHE_LOC:-..}
- ${CMAKE_PREFIX:-} cmake --build . ${EXTRA_CMAKE_BUILD_FLAGS:-} -- -j$JOBS
+
+ case "${CMAKE_GENERATOR}" in
+ [Vv]isual" "[Ss]tudio*) # MSBuild, use all CPUs.
+ ${CMAKE_PREFIX:-} cmake --build . ${EXTRA_CMAKE_BUILD_FLAGS:-} -- -m
+ ;;
+ *) # Ninja automatically uses all available CPUs.
+ ${CMAKE_PREFIX:-} cmake --build . ${EXTRA_CMAKE_BUILD_FLAGS:-}
+ ;;
+ esac
+
case "${RUN_TESTS:-all}" in
all)
CC=${TEST_CC:-${CC}} ctest --output-on-failure -j$JOBS "$@"