summaryrefslogtreecommitdiff
path: root/buildscripts/setup_multiversion_mongodb.py
diff options
context:
space:
mode:
authorMikhail Shchatko <mikhail.shchatko@mongodb.com>2020-10-21 18:29:59 +0300
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-10-23 07:36:32 +0000
commitde8c511301f174cb26e43be8d411a3858773281d (patch)
treebe76c0f86b1cc9c74c797c286454646a6bb5490a /buildscripts/setup_multiversion_mongodb.py
parenta47cf88093c5ba92d78199487dc67f80285a5c24 (diff)
downloadmongo-de8c511301f174cb26e43be8d411a3858773281d.tar.gz
SERVER-51776 Map setup_multiversion_mongodb.py args to evergreen build variants
Diffstat (limited to 'buildscripts/setup_multiversion_mongodb.py')
-rwxr-xr-xbuildscripts/setup_multiversion_mongodb.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/buildscripts/setup_multiversion_mongodb.py b/buildscripts/setup_multiversion_mongodb.py
index f8a57026bd9..1e647e229bf 100755
--- a/buildscripts/setup_multiversion_mongodb.py
+++ b/buildscripts/setup_multiversion_mongodb.py
@@ -19,6 +19,9 @@ import zipfile
import requests
import requests.exceptions
+import yaml
+
+SETUP_MULTIVERSION_FILE = "etc/setup_multiversion_mapping.yml"
def dump_stacks(_signal_num, _frame): # pylint: disable=unused-argument
@@ -111,6 +114,27 @@ def download_file(url, file_name, download_retries=5):
raise Exception("Unknown download problem for {} to file {}".format(url, file_name))
+def get_buildvariant_name(edition, platform, architecture, version):
+ """Return Evergreen buildvariant name."""
+
+ with open(SETUP_MULTIVERSION_FILE) as file_handle:
+ config_yaml = yaml.safe_load(file_handle)
+
+ buildvariant_name = ""
+ for buildvariant in config_yaml.get("evergreen_buildvariants", []):
+ if (buildvariant.get("edition", "") == edition
+ and buildvariant.get("platform", "") == platform
+ and buildvariant.get("architecture", "") == architecture):
+ versions = buildvariant.get("versions", [])
+ if version in versions:
+ buildvariant_name = buildvariant.get("name", "")
+ break
+ elif not versions:
+ buildvariant_name = buildvariant.get("name", "")
+
+ return buildvariant_name
+
+
class MultiVersionDownloader(object): # pylint: disable=too-many-instance-attributes
"""Class to support multiversion downloads."""