Commit 63f42170 authored by sonicaj's avatar sonicaj

Use semantic versioning common strategy from catalog_update

parent 9b071d30
...@@ -2,21 +2,15 @@ ...@@ -2,21 +2,15 @@
import json import json
import sys import sys
from pkg_resources import parse_version from catalog_update.upgrade_strategy import semantic_versioning
from pkg_resources.extern.packaging.version import Version
def newer_mapping(image_tags): def newer_mapping(image_tags):
key = list(image_tags.keys())[0] key = list(image_tags.keys())[0]
if not image_tags[key]: version = semantic_versioning(image_tags[key])
if not version:
return {} return {}
versions = [v for v in map(parse_version, image_tags[key]) if isinstance(v, Version) and not v.is_prerelease]
if not versions:
return {}
versions.sort()
version = str(versions[-1])
return { return {
'tags': {key: version}, 'tags': {key: version},
'app_version': version, 'app_version': version,
......
...@@ -2,21 +2,15 @@ ...@@ -2,21 +2,15 @@
import json import json
import sys import sys
from pkg_resources import parse_version from catalog_update.upgrade_strategy import semantic_versioning
from pkg_resources.extern.packaging.version import Version
def newer_mapping(image_tags): def newer_mapping(image_tags):
key = list(image_tags.keys())[0] key = list(image_tags.keys())[0]
if not image_tags[key]: version = semantic_versioning(image_tags[key])
if not version:
return {} return {}
versions = [v for v in map(parse_version, image_tags[key]) if isinstance(v, Version) and not v.is_prerelease]
if not versions:
return {}
versions.sort()
version = str(versions[-1])
return { return {
'tags': {key: version}, 'tags': {key: version},
'app_version': version, 'app_version': version,
......
...@@ -2,21 +2,15 @@ ...@@ -2,21 +2,15 @@
import json import json
import sys import sys
from pkg_resources import parse_version from catalog_update.upgrade_strategy import semantic_versioning
from pkg_resources.extern.packaging.version import Version
def newer_mapping(image_tags): def newer_mapping(image_tags):
key = list(image_tags.keys())[0] key = list(image_tags.keys())[0]
if not image_tags[key]: version = semantic_versioning(image_tags[key])
if not version:
return {} return {}
versions = [v for v in map(parse_version, image_tags[key]) if isinstance(v, Version) and not v.is_prerelease]
if not versions:
return {}
versions.sort()
version = str(versions[-1])
return { return {
'tags': {key: version}, 'tags': {key: version},
'app_version': version, 'app_version': version,
......
...@@ -2,23 +2,16 @@ ...@@ -2,23 +2,16 @@
import json import json
import sys import sys
from pkg_resources import parse_version from catalog_update.upgrade_strategy import semantic_versioning
from pkg_resources.extern.packaging.version import Version
def newer_mapping(image_tags): def newer_mapping(image_tags):
key = list(image_tags.keys())[0] key = list(image_tags.keys())[0]
if not image_tags[key]:
return {}
tags = {t.rsplit('-', 1)[0]: t for t in image_tags[key]} tags = {t.rsplit('-', 1)[0]: t for t in image_tags[key]}
version = semantic_versioning(list(tags))
versions = [v for v in map(parse_version, tags) if isinstance(v, Version) and not v.is_prerelease] if not version:
if not versions:
return {} return {}
versions.sort()
version = str(versions[-1])
return { return {
'tags': {key: tags[version]}, 'tags': {key: tags[version]},
'app_version': version, 'app_version': version,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment