# Copyright 2022 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/chromeos/args.gni")
import("//build/config/coverage/coverage.gni")
import("//build/config/python.gni")
group("orchestrator_all") {
data_deps = [
# blink merge scripts the Orchestrator needs to merge blink test results
":blink_merge_web_test_results_py",
":blinkpy_merge_results_py",
# merge scripts the Orchestrator needs to merge test results and coverage
# profile information
":code_coverage_merge_results_py",
":code_coverage_merge_steps_py",
":process_perf_results_py",
":standard_gtest_merge_py",
":standard_isolated_script_merge_py",
]
if (is_android) {
data_deps += [ "//build/android:test_result_presentations_py" ]
}
data = [
# Various merge/collect scripts will likely need a venv specified in
# the root vpython spec files.
"//.vpython3",
# Used if the orchestrator needs to run recipe_module.chromium.get_version()
# to get the Chrome milestone being tested.
"//chrome/VERSION",
# Test specs the Orchestrator needs to trigger swarming tests
"//testing/buildbot/*.json",
]
# Orchestrator will run this script to curl for the coverage tool, which
# merges and outputs coverage data
if (use_clang_coverage) {
data += [ "//tools/clang/scripts/update.py" ]
}
if (use_jacoco_coverage) {
data += [ "//third_party/jacoco/cipd/lib/jacococli.jar" ]
data_deps += [ "//third_party/jdk:java_data" ]
}
if (is_skylab) {
data += [
"//third_party/chromite/",
"//chromeos/CHROMEOS_LKGM",
]
}
write_runtime_deps = "$root_out_dir/orchestrator_all.runtime_deps"
}
# blink merge scripts pydeps files for the Orchestrator
python_library("blink_merge_web_test_results_py") {
pydeps_file = "//third_party/blink/tools/merge_web_test_results.pydeps"
}
python_library("blinkpy_merge_results_py") {
pydeps_file =
"//third_party/blink/tools/blinkpy/web_tests/merge_results.pydeps"
}
# pydeps files for merge scripts needed by the Orchestrator
python_library("standard_isolated_script_merge_py") {
pydeps_file = "//testing/merge_scripts/standard_isolated_script_merge.pydeps"
}
python_library("standard_gtest_merge_py") {
pydeps_file = "//testing/merge_scripts/standard_gtest_merge.pydeps"
}
python_library("code_coverage_merge_results_py") {
pydeps_file = "//testing/merge_scripts/code_coverage/merge_results.pydeps"
}
python_library("code_coverage_merge_steps_py") {
pydeps_file = "//testing/merge_scripts/code_coverage/merge_steps.pydeps"
}
python_library("process_perf_results_py") {
pydeps_file = "//tools/perf/process_perf_results.pydeps"
data = [
# Telemetry fails if catapult's vendored libs aren't present on the
# filesystem. But since process_perf_results.py doesn't ever import any of
# them, build/print_python_deps.py doesn't detect them. So to appease
# telemetry, just add the needed dirs directly.
"//third_party/catapult/telemetry/third_party/",
"//third_party/catapult/third_party/polymer/",
"//third_party/catapult/third_party/six/",
"//third_party/catapult/third_party/vinn/",
"//third_party/catapult/tracing/bin/add_reserved_diagnostics",
"//third_party/catapult/tracing/third_party/",
"//third_party/catapult/tracing/tracing/",
# This file is read at script run-time.
"//tools/perf/core/perf_dashboard_machine_group_mapping.json",
]
}