mirror of
https://github.com/jupyter/docker-stacks.git
synced 2025-10-09 19:12:59 +00:00
Implement new taggers; add all the images; simplify code
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
# Copyright (c) Jupyter Development Team.
|
||||
# Distributed under the terms of the Modified BSD License.
|
||||
import logging
|
||||
from tagger_interface import TaggerInterface
|
||||
from git_helper import GitHelper
|
||||
from docker_runner import DockerRunner
|
||||
|
||||
@@ -18,51 +17,74 @@ def _get_program_version(short_image_name, owner, program):
|
||||
return cont.exec_run(cmd).output.decode("utf-8").strip()
|
||||
|
||||
|
||||
class TaggerInterface:
|
||||
"""HooksInterface for all hooks common interface"""
|
||||
@staticmethod
|
||||
def tag_value(image):
|
||||
raise NotImplementedError
|
||||
|
||||
|
||||
class SHATagger(TaggerInterface):
|
||||
@staticmethod
|
||||
def tag_value(short_image_name, owner):
|
||||
return GitHelper.commit_hash()[:12]
|
||||
|
||||
@staticmethod
|
||||
def tag_name():
|
||||
return "git_sha"
|
||||
|
||||
|
||||
class PythonVersionTagger(TaggerInterface):
|
||||
@staticmethod
|
||||
def tag_value(short_image_name, owner):
|
||||
return "python-" + _get_program_version(short_image_name, owner, "python").split()[1]
|
||||
|
||||
@staticmethod
|
||||
def tag_name():
|
||||
return "python_version"
|
||||
|
||||
|
||||
class JupyterNotebookVersionTagger(TaggerInterface):
|
||||
@staticmethod
|
||||
def tag_value(short_image_name, owner):
|
||||
return "notebook-" + _get_program_version(short_image_name, owner, "jupyter-notebook")
|
||||
|
||||
@staticmethod
|
||||
def tag_name():
|
||||
return "jupyter_notebook_version"
|
||||
|
||||
|
||||
class JupyterLabVersionTagger(TaggerInterface):
|
||||
@staticmethod
|
||||
def tag_value(short_image_name, owner):
|
||||
return "lab-" + _get_program_version(short_image_name, owner, "jupyter-lab")
|
||||
|
||||
@staticmethod
|
||||
def tag_name():
|
||||
return "jupyter_lab_version"
|
||||
|
||||
|
||||
class JupyterHubVersionTagger(TaggerInterface):
|
||||
@staticmethod
|
||||
def tag_value(short_image_name, owner):
|
||||
return "hub-" + _get_program_version(short_image_name, owner, "jupyterhub")
|
||||
|
||||
|
||||
class RVersionTagger(TaggerInterface):
|
||||
@staticmethod
|
||||
def tag_name():
|
||||
return "jupyter_lab_version"
|
||||
def tag_value(short_image_name, owner):
|
||||
return "r-" + _get_program_version(short_image_name, owner, "R")
|
||||
|
||||
|
||||
class TensorflowVersionTagger(TaggerInterface):
|
||||
@staticmethod
|
||||
def tag_value(short_image_name, owner):
|
||||
return "tensorflow-" + _get_program_version(short_image_name, owner, "tensorflow")
|
||||
|
||||
|
||||
class JuliaVersionTagger(TaggerInterface):
|
||||
@staticmethod
|
||||
def tag_value(short_image_name, owner):
|
||||
return "julia-" + _get_program_version(short_image_name, owner, "julia")
|
||||
|
||||
|
||||
class SparkVersionTagger(TaggerInterface):
|
||||
@staticmethod
|
||||
def tag_value(short_image_name, owner):
|
||||
return "spark-" + _get_program_version(short_image_name, owner, "spark")
|
||||
|
||||
|
||||
class HadoopVersionTagger(TaggerInterface):
|
||||
@staticmethod
|
||||
def tag_value(short_image_name, owner):
|
||||
return "hadoop-" + _get_program_version(short_image_name, owner, "hadoop")
|
||||
|
||||
|
||||
class JavaVersionTagger(TaggerInterface):
|
||||
@staticmethod
|
||||
def tag_value(short_image_name, owner):
|
||||
return "java-" + _get_program_version(short_image_name, owner, "java")
|
||||
|
Reference in New Issue
Block a user