diff options
author | Mikhail Shchatko <mikhail.shchatko@mongodb.com> | 2020-10-21 18:29:59 +0300 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-10-23 07:36:32 +0000 |
commit | de8c511301f174cb26e43be8d411a3858773281d (patch) | |
tree | be76c0f86b1cc9c74c797c286454646a6bb5490a /buildscripts | |
parent | a47cf88093c5ba92d78199487dc67f80285a5c24 (diff) | |
download | mongo-de8c511301f174cb26e43be8d411a3858773281d.tar.gz |
SERVER-51776 Map setup_multiversion_mongodb.py args to evergreen build variants
Diffstat (limited to 'buildscripts')
-rwxr-xr-x | buildscripts/setup_multiversion_mongodb.py | 24 |
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.""" |