Source code for action_updater.main.github

__author__ = "Vanessa Sochat"
__copyright__ = "Copyright 2022, Vanessa Sochat"
__license__ = "MPL 2.0"


import string

import pipelib.pipeline as pipeline
import pipelib.steps as step


[docs]def sort_tags(tags): """ Sort a list of string tags, return sorted (first latest) with original version """ # all letters excluded except for v letters = "(%s)" % "|".join([x for x in string.ascii_letters if x not in ["v", "V"]]) # A pipeline to process docker tags steps = ( # No letters except for "v" ~step.filters.HasPatterns(filters=[letters]), # Scrub commits from version string step.filters.CleanCommit(), # Parse versions, return sorted ascending, and taking version major.minor.patch into account step.container.ContainerTagSort(), ) p = pipeline.Pipeline(steps) return p.run(list(tags), unwrap=False)
[docs]def sort_major(tags): """ Allow major tags like v3 """ # A pipeline to process docker tags steps = step.release.MajorTagSort() p = pipeline.Pipeline(steps) return p.run(list(tags), unwrap=False)