xref: /aosp_15_r20/external/federated-compute/fcp/demo/BUILD (revision 14675a029014e728ec732f129a32e299b2da0601)
1*14675a02SAndroid Build Coastguard Worker# Copyright 2022 Google LLC
2*14675a02SAndroid Build Coastguard Worker#
3*14675a02SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
4*14675a02SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
5*14675a02SAndroid Build Coastguard Worker# You may obtain a copy of the License at
6*14675a02SAndroid Build Coastguard Worker#
7*14675a02SAndroid Build Coastguard Worker#      http://www.apache.org/licenses/LICENSE-2.0
8*14675a02SAndroid Build Coastguard Worker#
9*14675a02SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*14675a02SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
11*14675a02SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*14675a02SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
13*14675a02SAndroid Build Coastguard Worker# limitations under the License.
14*14675a02SAndroid Build Coastguard Worker
15*14675a02SAndroid Build Coastguard Workerload("@rules_python//python:defs.bzl", "py_library", "py_test")
16*14675a02SAndroid Build Coastguard Worker
17*14675a02SAndroid Build Coastguard Worker# The public interface for this package, providing the various Federated Program platform
18*14675a02SAndroid Build Coastguard Worker# components needed to run a Federated Program using Federated Compute clients.
19*14675a02SAndroid Build Coastguard Workerpy_library(
20*14675a02SAndroid Build Coastguard Worker    name = "demo",
21*14675a02SAndroid Build Coastguard Worker    srcs = ["__init__.py"],
22*14675a02SAndroid Build Coastguard Worker    srcs_version = "PY3",
23*14675a02SAndroid Build Coastguard Worker    visibility = ["//visibility:public"],
24*14675a02SAndroid Build Coastguard Worker    deps = [
25*14675a02SAndroid Build Coastguard Worker        ":federated_computation",
26*14675a02SAndroid Build Coastguard Worker        ":federated_context",
27*14675a02SAndroid Build Coastguard Worker        ":federated_data_source",
28*14675a02SAndroid Build Coastguard Worker    ],
29*14675a02SAndroid Build Coastguard Worker)
30*14675a02SAndroid Build Coastguard Worker
31*14675a02SAndroid Build Coastguard Workerpy_library(
32*14675a02SAndroid Build Coastguard Worker    name = "aggregations",
33*14675a02SAndroid Build Coastguard Worker    srcs = ["aggregations.py"],
34*14675a02SAndroid Build Coastguard Worker    data = ["@pybind11_abseil//pybind11_abseil:status.so"],
35*14675a02SAndroid Build Coastguard Worker    srcs_version = "PY3",
36*14675a02SAndroid Build Coastguard Worker    deps = [
37*14675a02SAndroid Build Coastguard Worker        ":http_actions",
38*14675a02SAndroid Build Coastguard Worker        ":media",
39*14675a02SAndroid Build Coastguard Worker        "//fcp/aggregation/protocol:configuration_py_pb2",
40*14675a02SAndroid Build Coastguard Worker        "//fcp/aggregation/protocol:py_pb2",
41*14675a02SAndroid Build Coastguard Worker        "//fcp/aggregation/protocol/python:aggregation_protocol",
42*14675a02SAndroid Build Coastguard Worker        "//fcp/aggregation/tensorflow/python:aggregation_protocols",
43*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:plan_py_pb2",
44*14675a02SAndroid Build Coastguard Worker        "//fcp/protos/federatedcompute:federated_compute_py_pb2",
45*14675a02SAndroid Build Coastguard Worker        "@com_google_googleapis//google/rpc:code_py_proto",
46*14675a02SAndroid Build Coastguard Worker        "@googleapis_for_longrunning//google/longrunning:longrunning_py_proto",
47*14675a02SAndroid Build Coastguard Worker    ],
48*14675a02SAndroid Build Coastguard Worker)
49*14675a02SAndroid Build Coastguard Worker
50*14675a02SAndroid Build Coastguard Workerpy_test(
51*14675a02SAndroid Build Coastguard Worker    name = "aggregations_test",
52*14675a02SAndroid Build Coastguard Worker    srcs = ["aggregations_test.py"],
53*14675a02SAndroid Build Coastguard Worker    data = ["@pybind11_abseil//pybind11_abseil:status.so"],
54*14675a02SAndroid Build Coastguard Worker    python_version = "PY3",
55*14675a02SAndroid Build Coastguard Worker    srcs_version = "PY3",
56*14675a02SAndroid Build Coastguard Worker    deps = [
57*14675a02SAndroid Build Coastguard Worker        ":aggregations",
58*14675a02SAndroid Build Coastguard Worker        ":http_actions",
59*14675a02SAndroid Build Coastguard Worker        ":media",
60*14675a02SAndroid Build Coastguard Worker        ":test_utils",
61*14675a02SAndroid Build Coastguard Worker        "//fcp/aggregation/protocol:py_pb2",
62*14675a02SAndroid Build Coastguard Worker        "//fcp/aggregation/protocol/python:aggregation_protocol",
63*14675a02SAndroid Build Coastguard Worker        "//fcp/aggregation/tensorflow/python:aggregation_protocols",
64*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:plan_py_pb2",
65*14675a02SAndroid Build Coastguard Worker        "//fcp/protos/federatedcompute:federated_compute_py_pb2",
66*14675a02SAndroid Build Coastguard Worker    ],
67*14675a02SAndroid Build Coastguard Worker)
68*14675a02SAndroid Build Coastguard Worker
69*14675a02SAndroid Build Coastguard Workerpy_library(
70*14675a02SAndroid Build Coastguard Worker    name = "checkpoint_tensor_reference",
71*14675a02SAndroid Build Coastguard Worker    srcs = ["checkpoint_tensor_reference.py"],
72*14675a02SAndroid Build Coastguard Worker    srcs_version = "PY3",
73*14675a02SAndroid Build Coastguard Worker)
74*14675a02SAndroid Build Coastguard Worker
75*14675a02SAndroid Build Coastguard Workerpy_test(
76*14675a02SAndroid Build Coastguard Worker    name = "checkpoint_tensor_reference_test",
77*14675a02SAndroid Build Coastguard Worker    srcs = ["checkpoint_tensor_reference_test.py"],
78*14675a02SAndroid Build Coastguard Worker    python_version = "PY3",
79*14675a02SAndroid Build Coastguard Worker    srcs_version = "PY3",
80*14675a02SAndroid Build Coastguard Worker    deps = [
81*14675a02SAndroid Build Coastguard Worker        ":checkpoint_tensor_reference",
82*14675a02SAndroid Build Coastguard Worker        ":test_utils",
83*14675a02SAndroid Build Coastguard Worker    ],
84*14675a02SAndroid Build Coastguard Worker)
85*14675a02SAndroid Build Coastguard Worker
86*14675a02SAndroid Build Coastguard Workerpy_library(
87*14675a02SAndroid Build Coastguard Worker    name = "eligibility_eval_tasks",
88*14675a02SAndroid Build Coastguard Worker    srcs = ["eligibility_eval_tasks.py"],
89*14675a02SAndroid Build Coastguard Worker    srcs_version = "PY3",
90*14675a02SAndroid Build Coastguard Worker    deps = [
91*14675a02SAndroid Build Coastguard Worker        ":http_actions",
92*14675a02SAndroid Build Coastguard Worker        "//fcp/protos/federatedcompute:federated_compute_py_pb2",
93*14675a02SAndroid Build Coastguard Worker        "@com_google_googleapis//google/rpc:code_py_proto",
94*14675a02SAndroid Build Coastguard Worker    ],
95*14675a02SAndroid Build Coastguard Worker)
96*14675a02SAndroid Build Coastguard Worker
97*14675a02SAndroid Build Coastguard Workerpy_test(
98*14675a02SAndroid Build Coastguard Worker    name = "eligibility_eval_tasks_test",
99*14675a02SAndroid Build Coastguard Worker    srcs = ["eligibility_eval_tasks_test.py"],
100*14675a02SAndroid Build Coastguard Worker    python_version = "PY3",
101*14675a02SAndroid Build Coastguard Worker    srcs_version = "PY3",
102*14675a02SAndroid Build Coastguard Worker    deps = [
103*14675a02SAndroid Build Coastguard Worker        ":eligibility_eval_tasks",
104*14675a02SAndroid Build Coastguard Worker        ":http_actions",
105*14675a02SAndroid Build Coastguard Worker        "//fcp/protos/federatedcompute:federated_compute_py_pb2",
106*14675a02SAndroid Build Coastguard Worker        "@com_google_googleapis//google/rpc:code_py_proto",
107*14675a02SAndroid Build Coastguard Worker    ],
108*14675a02SAndroid Build Coastguard Worker)
109*14675a02SAndroid Build Coastguard Worker
110*14675a02SAndroid Build Coastguard Workerpy_library(
111*14675a02SAndroid Build Coastguard Worker    name = "federated_computation",
112*14675a02SAndroid Build Coastguard Worker    srcs = ["federated_computation.py"],
113*14675a02SAndroid Build Coastguard Worker    srcs_version = "PY3",
114*14675a02SAndroid Build Coastguard Worker)
115*14675a02SAndroid Build Coastguard Worker
116*14675a02SAndroid Build Coastguard Workerpy_test(
117*14675a02SAndroid Build Coastguard Worker    name = "federated_computation_test",
118*14675a02SAndroid Build Coastguard Worker    srcs = ["federated_computation_test.py"],
119*14675a02SAndroid Build Coastguard Worker    python_version = "PY3",
120*14675a02SAndroid Build Coastguard Worker    srcs_version = "PY3",
121*14675a02SAndroid Build Coastguard Worker    deps = [":federated_computation"],
122*14675a02SAndroid Build Coastguard Worker)
123*14675a02SAndroid Build Coastguard Worker
124*14675a02SAndroid Build Coastguard Workerpy_library(
125*14675a02SAndroid Build Coastguard Worker    name = "federated_context",
126*14675a02SAndroid Build Coastguard Worker    srcs = ["federated_context.py"],
127*14675a02SAndroid Build Coastguard Worker    srcs_version = "PY3",
128*14675a02SAndroid Build Coastguard Worker    deps = [
129*14675a02SAndroid Build Coastguard Worker        ":checkpoint_tensor_reference",
130*14675a02SAndroid Build Coastguard Worker        ":federated_computation",
131*14675a02SAndroid Build Coastguard Worker        ":federated_data_source",
132*14675a02SAndroid Build Coastguard Worker        ":server",
133*14675a02SAndroid Build Coastguard Worker        "//fcp/artifact_building:artifact_constants",
134*14675a02SAndroid Build Coastguard Worker        "//fcp/artifact_building:checkpoint_utils",
135*14675a02SAndroid Build Coastguard Worker        "//fcp/artifact_building:data_spec",
136*14675a02SAndroid Build Coastguard Worker        "//fcp/artifact_building:federated_compute_plan_builder",
137*14675a02SAndroid Build Coastguard Worker        "//fcp/artifact_building:plan_utils",
138*14675a02SAndroid Build Coastguard Worker        "//fcp/artifact_building:variable_helpers",
139*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:plan_py_pb2",
140*14675a02SAndroid Build Coastguard Worker    ],
141*14675a02SAndroid Build Coastguard Worker)
142*14675a02SAndroid Build Coastguard Worker
143*14675a02SAndroid Build Coastguard Workerpy_test(
144*14675a02SAndroid Build Coastguard Worker    name = "federated_context_test",
145*14675a02SAndroid Build Coastguard Worker    size = "medium",
146*14675a02SAndroid Build Coastguard Worker    srcs = ["federated_context_test.py"],
147*14675a02SAndroid Build Coastguard Worker    python_version = "PY3",
148*14675a02SAndroid Build Coastguard Worker    srcs_version = "PY3",
149*14675a02SAndroid Build Coastguard Worker    deps = [
150*14675a02SAndroid Build Coastguard Worker        ":federated_computation",
151*14675a02SAndroid Build Coastguard Worker        ":federated_context",
152*14675a02SAndroid Build Coastguard Worker        ":federated_data_source",
153*14675a02SAndroid Build Coastguard Worker        ":server",
154*14675a02SAndroid Build Coastguard Worker        ":test_utils",
155*14675a02SAndroid Build Coastguard Worker        "//fcp/artifact_building:artifact_constants",
156*14675a02SAndroid Build Coastguard Worker        "//fcp/artifact_building:federated_compute_plan_builder",
157*14675a02SAndroid Build Coastguard Worker        "//fcp/artifact_building:plan_utils",
158*14675a02SAndroid Build Coastguard Worker        "//fcp/artifact_building:variable_helpers",
159*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:plan_py_pb2",
160*14675a02SAndroid Build Coastguard Worker    ],
161*14675a02SAndroid Build Coastguard Worker)
162*14675a02SAndroid Build Coastguard Worker
163*14675a02SAndroid Build Coastguard Workerpy_library(
164*14675a02SAndroid Build Coastguard Worker    name = "federated_data_source",
165*14675a02SAndroid Build Coastguard Worker    srcs = ["federated_data_source.py"],
166*14675a02SAndroid Build Coastguard Worker    srcs_version = "PY3",
167*14675a02SAndroid Build Coastguard Worker    deps = [
168*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:plan_py_pb2",
169*14675a02SAndroid Build Coastguard Worker        "//fcp/protos/federatedcompute:federated_compute_py_pb2",
170*14675a02SAndroid Build Coastguard Worker    ],
171*14675a02SAndroid Build Coastguard Worker)
172*14675a02SAndroid Build Coastguard Worker
173*14675a02SAndroid Build Coastguard Workerpy_test(
174*14675a02SAndroid Build Coastguard Worker    name = "federated_data_source_test",
175*14675a02SAndroid Build Coastguard Worker    srcs = ["federated_data_source_test.py"],
176*14675a02SAndroid Build Coastguard Worker    python_version = "PY3",
177*14675a02SAndroid Build Coastguard Worker    srcs_version = "PY3",
178*14675a02SAndroid Build Coastguard Worker    deps = [
179*14675a02SAndroid Build Coastguard Worker        ":federated_data_source",
180*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:plan_py_pb2",
181*14675a02SAndroid Build Coastguard Worker        "//fcp/protos/federatedcompute:federated_compute_py_pb2",
182*14675a02SAndroid Build Coastguard Worker    ],
183*14675a02SAndroid Build Coastguard Worker)
184*14675a02SAndroid Build Coastguard Worker
185*14675a02SAndroid Build Coastguard Workerpy_test(
186*14675a02SAndroid Build Coastguard Worker    name = "federated_program_test",
187*14675a02SAndroid Build Coastguard Worker    size = "medium",
188*14675a02SAndroid Build Coastguard Worker    srcs = ["federated_program_test.py"],
189*14675a02SAndroid Build Coastguard Worker    data = ["//fcp/client:client_runner_main"],
190*14675a02SAndroid Build Coastguard Worker    python_version = "PY3",
191*14675a02SAndroid Build Coastguard Worker    srcs_version = "PY3",
192*14675a02SAndroid Build Coastguard Worker    deps = [
193*14675a02SAndroid Build Coastguard Worker        ":demo",
194*14675a02SAndroid Build Coastguard Worker        "//fcp/client:client_runner_example_data_py_pb2",
195*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:plan_py_pb2",
196*14675a02SAndroid Build Coastguard Worker    ],
197*14675a02SAndroid Build Coastguard Worker)
198*14675a02SAndroid Build Coastguard Worker
199*14675a02SAndroid Build Coastguard Workerpy_library(
200*14675a02SAndroid Build Coastguard Worker    name = "http_actions",
201*14675a02SAndroid Build Coastguard Worker    srcs = ["http_actions.py"],
202*14675a02SAndroid Build Coastguard Worker    srcs_version = "PY3",
203*14675a02SAndroid Build Coastguard Worker    deps = ["@com_google_googleapis//google/api:annotations_py_proto"],
204*14675a02SAndroid Build Coastguard Worker)
205*14675a02SAndroid Build Coastguard Worker
206*14675a02SAndroid Build Coastguard Workerpy_test(
207*14675a02SAndroid Build Coastguard Worker    name = "http_actions_test",
208*14675a02SAndroid Build Coastguard Worker    size = "medium",
209*14675a02SAndroid Build Coastguard Worker    srcs = ["http_actions_test.py"],
210*14675a02SAndroid Build Coastguard Worker    python_version = "PY3",
211*14675a02SAndroid Build Coastguard Worker    srcs_version = "PY3",
212*14675a02SAndroid Build Coastguard Worker    deps = [
213*14675a02SAndroid Build Coastguard Worker        ":http_actions",
214*14675a02SAndroid Build Coastguard Worker        "//fcp/protos/federatedcompute:federated_compute_py_pb2",
215*14675a02SAndroid Build Coastguard Worker    ],
216*14675a02SAndroid Build Coastguard Worker)
217*14675a02SAndroid Build Coastguard Worker
218*14675a02SAndroid Build Coastguard Workerpy_library(
219*14675a02SAndroid Build Coastguard Worker    name = "media",
220*14675a02SAndroid Build Coastguard Worker    srcs = ["media.py"],
221*14675a02SAndroid Build Coastguard Worker    srcs_version = "PY3",
222*14675a02SAndroid Build Coastguard Worker    deps = [
223*14675a02SAndroid Build Coastguard Worker        ":http_actions",
224*14675a02SAndroid Build Coastguard Worker        "//fcp/protos/federatedcompute:federated_compute_py_pb2",
225*14675a02SAndroid Build Coastguard Worker    ],
226*14675a02SAndroid Build Coastguard Worker)
227*14675a02SAndroid Build Coastguard Worker
228*14675a02SAndroid Build Coastguard Workerpy_test(
229*14675a02SAndroid Build Coastguard Worker    name = "media_test",
230*14675a02SAndroid Build Coastguard Worker    srcs = ["media_test.py"],
231*14675a02SAndroid Build Coastguard Worker    python_version = "PY3",
232*14675a02SAndroid Build Coastguard Worker    srcs_version = "PY3",
233*14675a02SAndroid Build Coastguard Worker    deps = [
234*14675a02SAndroid Build Coastguard Worker        ":http_actions",
235*14675a02SAndroid Build Coastguard Worker        ":media",
236*14675a02SAndroid Build Coastguard Worker        "//fcp/protos/federatedcompute:federated_compute_py_pb2",
237*14675a02SAndroid Build Coastguard Worker    ],
238*14675a02SAndroid Build Coastguard Worker)
239*14675a02SAndroid Build Coastguard Worker
240*14675a02SAndroid Build Coastguard Workerpy_library(
241*14675a02SAndroid Build Coastguard Worker    name = "plan_utils",
242*14675a02SAndroid Build Coastguard Worker    srcs = ["plan_utils.py"],
243*14675a02SAndroid Build Coastguard Worker    srcs_version = "PY3",
244*14675a02SAndroid Build Coastguard Worker    deps = [
245*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:plan_py_pb2",
246*14675a02SAndroid Build Coastguard Worker        "//fcp/tensorflow:serve_slices_py",
247*14675a02SAndroid Build Coastguard Worker    ],
248*14675a02SAndroid Build Coastguard Worker)
249*14675a02SAndroid Build Coastguard Worker
250*14675a02SAndroid Build Coastguard Workerpy_test(
251*14675a02SAndroid Build Coastguard Worker    name = "plan_utils_test",
252*14675a02SAndroid Build Coastguard Worker    size = "medium",
253*14675a02SAndroid Build Coastguard Worker    srcs = ["plan_utils_test.py"],
254*14675a02SAndroid Build Coastguard Worker    python_version = "PY3",
255*14675a02SAndroid Build Coastguard Worker    srcs_version = "PY3",
256*14675a02SAndroid Build Coastguard Worker    deps = [
257*14675a02SAndroid Build Coastguard Worker        ":plan_utils",
258*14675a02SAndroid Build Coastguard Worker        ":test_utils",
259*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:plan_py_pb2",
260*14675a02SAndroid Build Coastguard Worker        "//fcp/tensorflow:serve_slices_py",
261*14675a02SAndroid Build Coastguard Worker    ],
262*14675a02SAndroid Build Coastguard Worker)
263*14675a02SAndroid Build Coastguard Worker
264*14675a02SAndroid Build Coastguard Workerpy_library(
265*14675a02SAndroid Build Coastguard Worker    name = "server",
266*14675a02SAndroid Build Coastguard Worker    srcs = ["server.py"],
267*14675a02SAndroid Build Coastguard Worker    srcs_version = "PY3",
268*14675a02SAndroid Build Coastguard Worker    deps = [
269*14675a02SAndroid Build Coastguard Worker        ":aggregations",
270*14675a02SAndroid Build Coastguard Worker        ":eligibility_eval_tasks",
271*14675a02SAndroid Build Coastguard Worker        ":http_actions",
272*14675a02SAndroid Build Coastguard Worker        ":media",
273*14675a02SAndroid Build Coastguard Worker        ":plan_utils",
274*14675a02SAndroid Build Coastguard Worker        ":task_assignments",
275*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:plan_py_pb2",
276*14675a02SAndroid Build Coastguard Worker        "//fcp/protos/federatedcompute:federated_compute_py_pb2",
277*14675a02SAndroid Build Coastguard Worker    ],
278*14675a02SAndroid Build Coastguard Worker)
279*14675a02SAndroid Build Coastguard Worker
280*14675a02SAndroid Build Coastguard Workerpy_test(
281*14675a02SAndroid Build Coastguard Worker    name = "server_test",
282*14675a02SAndroid Build Coastguard Worker    size = "medium",
283*14675a02SAndroid Build Coastguard Worker    srcs = ["server_test.py"],
284*14675a02SAndroid Build Coastguard Worker    data = ["//fcp/client:client_runner_main"],
285*14675a02SAndroid Build Coastguard Worker    python_version = "PY3",
286*14675a02SAndroid Build Coastguard Worker    srcs_version = "PY3",
287*14675a02SAndroid Build Coastguard Worker    deps = [
288*14675a02SAndroid Build Coastguard Worker        ":plan_utils",
289*14675a02SAndroid Build Coastguard Worker        ":server",
290*14675a02SAndroid Build Coastguard Worker        ":test_utils",
291*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:plan_py_pb2",
292*14675a02SAndroid Build Coastguard Worker        "//fcp/protos/federatedcompute:federated_compute_py_pb2",
293*14675a02SAndroid Build Coastguard Worker        "//fcp/tensorflow:external_dataset_py",
294*14675a02SAndroid Build Coastguard Worker        "@googleapis_for_longrunning//google/longrunning:longrunning_py_proto",
295*14675a02SAndroid Build Coastguard Worker    ],
296*14675a02SAndroid Build Coastguard Worker)
297*14675a02SAndroid Build Coastguard Worker
298*14675a02SAndroid Build Coastguard Workerpy_library(
299*14675a02SAndroid Build Coastguard Worker    name = "task_assignments",
300*14675a02SAndroid Build Coastguard Worker    srcs = ["task_assignments.py"],
301*14675a02SAndroid Build Coastguard Worker    srcs_version = "PY3",
302*14675a02SAndroid Build Coastguard Worker    deps = [
303*14675a02SAndroid Build Coastguard Worker        ":aggregations",
304*14675a02SAndroid Build Coastguard Worker        ":http_actions",
305*14675a02SAndroid Build Coastguard Worker        "//fcp/protos/federatedcompute:federated_compute_py_pb2",
306*14675a02SAndroid Build Coastguard Worker        "@com_google_googleapis//google/rpc:code_py_proto",
307*14675a02SAndroid Build Coastguard Worker        "@googleapis_for_longrunning//google/longrunning:longrunning_py_proto",
308*14675a02SAndroid Build Coastguard Worker    ],
309*14675a02SAndroid Build Coastguard Worker)
310*14675a02SAndroid Build Coastguard Worker
311*14675a02SAndroid Build Coastguard Workerpy_test(
312*14675a02SAndroid Build Coastguard Worker    name = "task_assignments_test",
313*14675a02SAndroid Build Coastguard Worker    srcs = ["task_assignments_test.py"],
314*14675a02SAndroid Build Coastguard Worker    python_version = "PY3",
315*14675a02SAndroid Build Coastguard Worker    srcs_version = "PY3",
316*14675a02SAndroid Build Coastguard Worker    deps = [
317*14675a02SAndroid Build Coastguard Worker        ":aggregations",
318*14675a02SAndroid Build Coastguard Worker        ":http_actions",
319*14675a02SAndroid Build Coastguard Worker        ":task_assignments",
320*14675a02SAndroid Build Coastguard Worker        "//fcp/protos/federatedcompute:federated_compute_py_pb2",
321*14675a02SAndroid Build Coastguard Worker        "@com_google_googleapis//google/rpc:code_py_proto",
322*14675a02SAndroid Build Coastguard Worker    ],
323*14675a02SAndroid Build Coastguard Worker)
324*14675a02SAndroid Build Coastguard Worker
325*14675a02SAndroid Build Coastguard Workerpy_library(
326*14675a02SAndroid Build Coastguard Worker    name = "test_utils",
327*14675a02SAndroid Build Coastguard Worker    testonly = True,
328*14675a02SAndroid Build Coastguard Worker    srcs = ["test_utils.py"],
329*14675a02SAndroid Build Coastguard Worker)
330*14675a02SAndroid Build Coastguard Worker
331*14675a02SAndroid Build Coastguard Workerpy_test(
332*14675a02SAndroid Build Coastguard Worker    name = "test_utils_test",
333*14675a02SAndroid Build Coastguard Worker    size = "medium",
334*14675a02SAndroid Build Coastguard Worker    srcs = ["test_utils_test.py"],
335*14675a02SAndroid Build Coastguard Worker    python_version = "PY3",
336*14675a02SAndroid Build Coastguard Worker    srcs_version = "PY3",
337*14675a02SAndroid Build Coastguard Worker    deps = [":test_utils"],
338*14675a02SAndroid Build Coastguard Worker)
339