blob: ea76d6e2e83f051dcfad2b250acef266931170c9 [file]
matrix:
unix_platform:
- debian11
- ubuntu2004
- ubuntu2204
- ubuntu2404
- macos
- macos_arm64
windows_platform:
- windows
bazel: [7.x, 8.x, 9.x, rolling]
tasks:
verify_targets_unix:
name: Unix
platform: ${{ unix_platform }}
bazel: ${{ bazel }}
# abseil-cpp (a dependency) requires C++17; Bazel 7.x defaults to
# -std=c++14 on the Linux/GCC autodetected toolchain, so force the
# standard explicitly. Mirrors abseil-cpp's own BCR presubmit.
build_flags:
- "--cxxopt=-std=c++17"
build_targets:
- "@clickhouse-cpp//:clickhouse"
verify_targets_windows:
name: Windows
platform: ${{ windows_platform }}
bazel: ${{ bazel }}
# MSVC spelling of the same C++17 requirement (see Unix task).
build_flags:
- "--cxxopt=/std:c++17"
build_targets:
- "@clickhouse-cpp//:clickhouse"
# Build the module as the root workspace so its dev-only googletest
# dependency is available, and run the hermetic unit test suite.
# //ut:e2e_tests is intentionally excluded: it needs a live ClickHouse
# server (it is tagged manual/external upstream).
bcr_test_module:
module_path: ""
matrix:
unix_platform:
- debian11
- ubuntu2004
- ubuntu2204
- ubuntu2404
- macos
- macos_arm64
windows_platform:
- windows
bazel: [7.x, 8.x, 9.x, rolling]
tasks:
unit_tests_unix:
name: Unit tests (Unix)
platform: ${{ unix_platform }}
bazel: ${{ bazel }}
# Socketcase.connecttimeout connects to an IPv6 discard address and
# asserts a connect timeout / unreachable error. It is non-hermetic
# (depends on the sandbox's IPv6 routing, which varies across Bazel
# versions' sandboxes), so exclude it from the registry run.
test_flags:
- "--cxxopt=-std=c++17"
- "--test_filter=-Socketcase.connecttimeout"
test_targets:
- "//ut:unit_tests"
unit_tests_windows:
name: Unit tests (Windows)
platform: ${{ windows_platform }}
bazel: ${{ bazel }}
# See the Unix task: Socketcase.connecttimeout is non-hermetic.
test_flags:
- "--cxxopt=/std:c++17"
- "--test_filter=-Socketcase.connecttimeout"
test_targets:
- "//ut:unit_tests"