• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2017 gRPC authors.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#     http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15licenses(["notice"])  # Apache v2
16
17package(default_visibility = ["//visibility:public"])
18
19load("@bazel_toolchains//rules/exec_properties:exec_properties.bzl", "create_exec_properties_dict", "merge_dicts")
20
21alias(
22    name = "rbe_windows",
23    actual = ":rbe_windows_2019",
24)
25
26# RBE Windows
27platform(
28    name = "rbe_windows_2019",
29    constraint_values = [
30        "@bazel_tools//platforms:x86_64",
31        "@bazel_tools//platforms:windows",
32    ],
33    exec_properties = merge_dicts(
34        create_exec_properties_dict(
35            # See rbe_win2019/Dockerfile for image details
36            container_image = "docker://gcr.io/grpc-testing/rbe_windows2019_withdbg_toolchain@sha256:7b04ee7e29f942adbf4f70edd2ec4ba20a3e7237e1b54f5cae4b239c6ca41105",
37            os_family = "Windows",
38        ),
39        # TODO(jtattermusch): specifying 'labels = {"abc": "xyz"}' in create_exec_properties_dict
40        # is not possible without https://github.com/bazelbuild/bazel-toolchains/pull/748
41        # and currently the toolchain we're using is too old for that. To be able to select worker
42        # pools through labels, we use a workaround and populate the corresponding label values
43        # manually (see create_exec_properties_dict logic for how labels get transformed)
44        # Remove this workaround once we transition to a new-enough bazel toolchain.
45        # The next line corresponds to 'labels = {"os": "windows_2019", "machine_size": "small"}'
46        {"label:os": "windows_2019", "label:machine_size": "small"}
47    ),
48)
49