mirror of https://github.com/mongodb/mongo
28 lines
958 B
Python
28 lines
958 B
Python
"""Tools for detecting changes inside of Evergreen."""
|
|
from typing import List
|
|
|
|
from git import Repo
|
|
from evergreen import EvergreenApi
|
|
|
|
from buildscripts.patch_builds.change_data import RevisionMap, generate_revision_map
|
|
|
|
|
|
def generate_revision_map_from_manifest(repos: List[Repo], task_id: str,
|
|
evg_api: EvergreenApi) -> RevisionMap:
|
|
"""
|
|
Generate a revision map for the given repositories using the revisions from the manifest.
|
|
|
|
:param repos: Repositories to generate map for.
|
|
:param task_id: Id of evergreen task running.
|
|
:param evg_api: Evergreen API object.
|
|
:return: Map of repositories to revisions
|
|
"""
|
|
manifest = evg_api.manifest_for_task(task_id)
|
|
revisions_data = {
|
|
module_name: module.revision
|
|
for module_name, module in manifest.modules.items()
|
|
}
|
|
revisions_data["mongo"] = manifest.revision
|
|
|
|
return generate_revision_map(repos, revisions_data)
|