From ccc523864d7c822d2fbc5ffa5ffb92441d8d03c0 Mon Sep 17 00:00:00 2001
From: Ben Pastene <bpastene@chromium.org>
Date: Thu, 23 Jun 2022 18:23:48 +0000
Subject: [PATCH 36/59] 5005: infra: Add the root vpython spec files to
 orchestrator runtime deps

Some merge scripts import six. When preventing tools/build's venv from
propagating into their execution, they fail with import errors, eg:
https://logs.chromium.org/logs/chromium/led/infra-try-recipes-tester_chops-service-accounts.iam.gserviceaccount.com/87eaf62ee4e951d34e812ec2f066e106325201c793155d01c8e6ab39ffb58a0e/+/u/angle_unittests__with_patch__on_Ubuntu-18.04/Merge_script_log

This is because the orchestrator doesn't have chromium's root vpython
spec files, and so have no way of importing six. So this throws the root
specs into the bundle that the orchestrator fetches since it's very
possible that merge/collect scripts will pop-up in the future that need
other non-standard libs present in the root spec files.

(cherry picked from commit c263d8d4c6e6639e328b8b818e1ba038b2159807)

Bug: 1326517
Change-Id: I8c42fcfcc29c977b7c31fc58f03256b30f844a01
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3718050
Reviewed-by: Stephanie Kim <kimstephanie@google.com>
Reviewed-by: Garrett Beaty <gbeaty@google.com>
Commit-Queue: Ben Pastene <bpastene@chromium.org>
Cr-Original-Commit-Position: refs/heads/main@{#1016890}
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3721582
Cr-Commit-Position: refs/branch-heads/5005@{#1195}
Cr-Branched-From: 5b4d9450fee01f821b6400e947b3839727643a71-refs/heads/main@{#992738}
---
 infra/orchestrator/BUILD.gn | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/infra/orchestrator/BUILD.gn b/infra/orchestrator/BUILD.gn
index 624de2e75eb3..b2488e07b978 100644
--- a/infra/orchestrator/BUILD.gn
+++ b/infra/orchestrator/BUILD.gn
@@ -18,8 +18,15 @@ group("orchestrator_all") {
     ":standard_isolated_script_merge_py",
   ]
 
-  # Test specs the Orchestrator needs to trigger swarming tests
-  data = [ "//testing/buildbot/*.json" ]
+  data = [
+    # Various merge/collect scripts will likely need a venv specified in
+    # the root vpython spec files.
+    "//.vpython",
+    "//.vpython3",
+
+    # Test specs the Orchestrator needs to trigger swarming tests
+    "//testing/buildbot/*.json",
+  ]
 
   # coverage tool for the Orchestrator to merge and output coverage data
   if (use_clang_coverage) {
-- 
2.37.0

