Skip to content

Commit

Permalink
Add CI job for clang-cl on Windows
Browse files Browse the repository at this point in the history
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
  • Loading branch information
drigz committed Mar 4, 2022
1 parent a8e0007 commit c4ca519
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 5 deletions.
32 changes: 29 additions & 3 deletions .bazelci/presubmit.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
platforms:
tasks:
ubuntu1804:
name: "Ubuntu 18.04"
platform: ubuntu1804
build_flags:
- "--features=layering_check"
- "--copt=-Werror"
Expand All @@ -12,6 +14,8 @@ platforms:
test_targets:
- "//..."
macos:
name: "macOS: latest Xcode"
platform: macos
build_flags:
- "--features=layering_check"
- "--copt=-Werror"
Expand All @@ -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:
Expand All @@ -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:
- "//..."
19 changes: 17 additions & 2 deletions BUILD.bazel
Original file line number Diff line number Diff line change
@@ -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",
],
)

0 comments on commit c4ca519

Please sign in to comment.