From 48b065050c5bd5df50a1cca7f0fc9785fe1eb487 Mon Sep 17 00:00:00 2001 From: Ayaz Salikhov Date: Wed, 12 Mar 2025 14:56:39 +0000 Subject: [PATCH] Add tags for mamba and conda versions (#2251) * Add tags for mamba and conda versions * Update changelog --- CHANGELOG.md | 6 ++++++ tagging/hierarchy/images_hierarchy.py | 4 ++++ tagging/taggers/versions.py | 12 ++++++++++++ 3 files changed, 22 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 330297ef..c0ffebdf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,12 @@ This changelog only contains breaking and/or significant changes manually introduced to this repository (using Pull Requests). All image manifests can be found in [the wiki](https://github.com/jupyter/docker-stacks/wiki). +## 2025-03-12 + +Affected: all images. + +- **Non-breaking:** Add `conda` and `mamba` version taggers ([#2251](https://github.com/jupyter/docker-stacks/pull/2251)). + ## 2025-02-21 Affected: all images. diff --git a/tagging/hierarchy/images_hierarchy.py b/tagging/hierarchy/images_hierarchy.py index 2a49790b..a59098c4 100644 --- a/tagging/hierarchy/images_hierarchy.py +++ b/tagging/hierarchy/images_hierarchy.py @@ -13,11 +13,13 @@ from tagging.taggers.sha import SHATagger from tagging.taggers.tagger_interface import TaggerInterface from tagging.taggers.ubuntu_version import UbuntuVersionTagger from tagging.taggers.versions import ( + CondaVersionTagger, JavaVersionTagger, JuliaVersionTagger, JupyterHubVersionTagger, JupyterLabVersionTagger, JupyterNotebookVersionTagger, + MambaVersionTagger, PythonMajorMinorVersionTagger, PythonVersionTagger, PytorchVersionTagger, @@ -43,6 +45,8 @@ ALL_IMAGES = { UbuntuVersionTagger(), PythonMajorMinorVersionTagger(), PythonVersionTagger(), + MambaVersionTagger(), + CondaVersionTagger(), ], manifests=[CondaEnvironmentManifest(), AptPackagesManifest()], ), diff --git a/tagging/taggers/versions.py b/tagging/taggers/versions.py index 094efd3f..c919c4f3 100644 --- a/tagging/taggers/versions.py +++ b/tagging/taggers/versions.py @@ -36,6 +36,18 @@ class PythonMajorMinorVersionTagger(TaggerInterface): return full_version[: full_version.rfind(".")] +class MambaVersionTagger(TaggerInterface): + @staticmethod + def tag_value(container: Container) -> str: + return "mamba-" + _get_program_version(container, "mamba") + + +class CondaVersionTagger(TaggerInterface): + @staticmethod + def tag_value(container: Container) -> str: + return "conda-" + _get_program_version(container, "conda").split()[1] + + class JupyterNotebookVersionTagger(TaggerInterface): @staticmethod def tag_value(container: Container) -> str: