Throw a different Exception when failing to download Bazel at a given commit (#1507)

Related
https://github.com/bazelbuild/bazel/issues/16933#issuecomment-1339738792

BuildKiteException is always caught at

https://github.com/bazelbuild/continuous-integration/blob/4592271b2fdcf26f865d9c0082e1e53add7ea9a2/buildkite/bazelci.py#L3592-L3594

- The "Publish Bazel binaries" pipeline sometimes fails to publish Bazel
binaries for a commit, in this case, the Culprit Finder should
immediately fail instead consider the commit as a bad Bazel commit due
to failing build.

- Also removed some unused parameters in the function.
diff --git a/buildkite/bazelci.py b/buildkite/bazelci.py
index b2ce6b8..4d1eef8 100755
--- a/buildkite/bazelci.py
+++ b/buildkite/bazelci.py
@@ -655,6 +655,14 @@
     pass
 
 
+class BuildkiteInfraException(Exception):
+    """
+    Raised whenever something goes wrong with the CI infra and we should immediately exit with an error.
+    """
+
+    pass
+
+
 class BinaryUploadRaceException(Exception):
     """
     Raised when try_publish_binaries wasn't able to publish a set of binaries,
@@ -1604,13 +1612,11 @@
     return download_binary(dest_dir, platform, binary_name)
 
 
-def download_binary_at_commit(
-    dest_dir, platform, bazel_git_commit, bazel_binary_url, bazel_binary_path
-):
+def download_binary_at_commit(bazel_git_commit, bazel_binary_url, bazel_binary_path):
     try:
         execute_command([gsutil_command(), "cp", bazel_binary_url, bazel_binary_path])
     except subprocess.CalledProcessError as e:
-        raise BuildkiteException(
+        raise BuildkiteInfraException(
             "Failed to download Bazel binary at %s, error message:\n%s" % (bazel_git_commit, str(e))
         )
     st = os.stat(bazel_binary_path)
@@ -1621,13 +1627,13 @@
 def download_bazel_binary_at_commit(dest_dir, platform, bazel_git_commit):
     url = bazelci_builds_gs_url(platform, bazel_git_commit)
     path = os.path.join(dest_dir, "bazel.exe" if platform == "windows" else "bazel")
-    return download_binary_at_commit(dest_dir, platform, bazel_git_commit, url, path)
+    return download_binary_at_commit(bazel_git_commit, url, path)
 
 
 def download_bazel_nojdk_binary_at_commit(dest_dir, platform, bazel_git_commit):
     url = bazelci_builds_nojdk_gs_url(platform, bazel_git_commit)
     path = os.path.join(dest_dir, "bazel_nojdk.exe" if platform == "windows" else "bazel_nojdk")
-    return download_binary_at_commit(dest_dir, platform, bazel_git_commit, url, path)
+    return download_binary_at_commit(bazel_git_commit, url, path)
 
 
 def download_bazelci_agent(dest_dir, version):