From 0d5fd43dfd17a1890563517374369c1c75f39926 Mon Sep 17 00:00:00 2001 From: Ana Isabel da Silva Mendes Date: Tue, 9 Dec 2025 12:03:16 +0000 Subject: [PATCH] add version mapping --- src/bridge/pipelines/bt2gh_for_pr/map.py | 5 +++-- .../bt2gh_for_pr/map_funcs/version.py | 21 +++++++++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 src/bridge/pipelines/bt2gh_for_pr/map_funcs/version.py diff --git a/src/bridge/pipelines/bt2gh_for_pr/map.py b/src/bridge/pipelines/bt2gh_for_pr/map.py index b49f7e2..b07f97f 100644 --- a/src/bridge/pipelines/bt2gh_for_pr/map.py +++ b/src/bridge/pipelines/bt2gh_for_pr/map.py @@ -9,7 +9,7 @@ from bridge.pipelines.protocols import MapItem, Method, ModelsMap from bridge.pipelines.utils import load_dict_from_yaml_file -from .map_funcs import map_citation, map_description, map_homepage, map_license, map_readme, map_topics +from .map_funcs import map_citation, map_description, map_homepage, map_license, map_readme, map_topics, map_version class MapDestination(BaseModel): @@ -24,7 +24,7 @@ class MapDestination(BaseModel): List of properties to be mapped to pull requests. """ - issue: list[str] = ["description", "homepage", "topics"] + issue: list[str] = ["description", "homepage", "topics", "version"] pr: list[str] = ["citation", "readme", "license"] @@ -48,6 +48,7 @@ def map(self) -> dict[str, MapItem]: schema_entry=self.metadata.latest_release.tag_name, repo_entry=self.repo.version, method=Method.EXACT, + fn=map_version, ), "description": MapItem( schema_entry=self.metadata.description, diff --git a/src/bridge/pipelines/bt2gh_for_pr/map_funcs/version.py b/src/bridge/pipelines/bt2gh_for_pr/map_funcs/version.py new file mode 100644 index 0000000..cc84a26 --- /dev/null +++ b/src/bridge/pipelines/bt2gh_for_pr/map_funcs/version.py @@ -0,0 +1,21 @@ +""" +Mapping versions from bio.tools to GitHub. +""" + +import logging + +logger = logging.getLogger(__name__) + + +def map_version(gh_version: str | None, bt_version: list | None) -> str | None: + """ + Map bio.tools version to GitHub version. + """ + if not gh_version: + logger.info("CONFLICT: GitHub version doesn't exist.") + return None + + if not bt_version: + return gh_version + + return gh_version