Add CI job for clang-cl on Windows

This should catch issues like #801. This uses the new `tasks` syntax to
define multiple Windows tasks:

https://github.com/bazelbuild/continuous-integration/blob/master/buildkite/README.md#basic-syntax
This commit is contained in:
Rodrigo Queiro 2022-03-02 12:22:16 +01:00 committed by Rodrigo Queiro
parent a8e0007e96
commit c4ca519a86
2 changed files with 46 additions and 5 deletions

View File

@ -1,6 +1,8 @@
---
platforms:
tasks:
ubuntu1804:
name: "Ubuntu 18.04"
platform: ubuntu1804
build_flags:
- "--features=layering_check"
- "--copt=-Werror"
@ -12,6 +14,8 @@ platforms:
test_targets:
- "//..."
macos:
name: "macOS: latest Xcode"
platform: macos
build_flags:
- "--features=layering_check"
- "--copt=-Werror"
@ -22,8 +26,9 @@ platforms:
- "--copt=-Werror"
test_targets:
- "//..."
windows:
# Optional: use VS 2017 instead of 2015.
windows-msvc:
name: "Windows: MSVC 2017"
platform: windows
environment:
BAZEL_VC: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\BuildTools\\VC"
build_flags:
@ -36,3 +41,24 @@ platforms:
- "--copt=/WX"
test_targets:
- "//..."
windows-clang-cl:
name: "Windows: Clang"
platform: windows
environment:
BAZEL_VC: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\BuildTools\\VC"
build_flags:
- "--incompatible_enable_cc_toolchain_resolution"
- "--extra_toolchains=@local_config_cc//:cc-toolchain-x64_windows-clang-cl"
- "--extra_execution_platforms=//:x64_windows-clang-cl"
- "--features=layering_check"
- "--copt=/WX"
build_targets:
- "//..."
test_flags:
- "--incompatible_enable_cc_toolchain_resolution"
- "--extra_toolchains=@local_config_cc//:cc-toolchain-x64_windows-clang-cl"
- "--extra_execution_platforms=//:x64_windows-clang-cl"
- "--features=layering_check"
- "--copt=/WX"
test_targets:
- "//..."

View File

@ -1,7 +1,22 @@
licenses(['notice'])
licenses(["notice"])
exports_files(["COPYING"])
load(':bazel/glog.bzl', 'glog_library')
load(":bazel/glog.bzl", "glog_library")
glog_library()
# platform() to build with clang-cl on Bazel CI. This is enabled with
# the flags in .bazelci/presubmit.yml:
#
# --incompatible_enable_cc_toolchain_resolution
# --extra_toolchains=@local_config_cc//:cc-toolchain-x64_windows-clang-cl
# --extra_execution_platforms=//:x64_windows-clang-cl
platform(
name = "x64_windows-clang-cl",
constraint_values = [
"@platforms//cpu:x86_64",
"@platforms//os:windows",
"@bazel_tools//tools/cpp:clang-cl",
],
)