diff --git a/.bazelci/presubmit.yml b/.bazelci/presubmit.yml index 31c569064..de80b11ce 100644 --- a/.bazelci/presubmit.yml +++ b/.bazelci/presubmit.yml @@ -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: + - "//..." diff --git a/BUILD.bazel b/BUILD.bazel index 50df62071..0acdc72b6 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -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", + ], +)