Эх сурвалжийг харах

Use semantic versioning common strategy from catalog_update

sonicaj 4 жил өмнө
parent
commit
63f42170de

+ 3 - 9
charts/chia/upgrade_strategy

@@ -2,21 +2,15 @@
 import json
 import sys
 
-from pkg_resources import parse_version
-from pkg_resources.extern.packaging.version import Version
+from catalog_update.upgrade_strategy import semantic_versioning
 
 
 def newer_mapping(image_tags):
     key = list(image_tags.keys())[0]
-    if not image_tags[key]:
+    version = semantic_versioning(image_tags[key])
+    if not version:
         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 {
         'tags': {key: version},
         'app_version': version,

+ 3 - 9
charts/ipfs/upgrade_strategy

@@ -2,21 +2,15 @@
 import json
 import sys
 
-from pkg_resources import parse_version
-from pkg_resources.extern.packaging.version import Version
+from catalog_update.upgrade_strategy import semantic_versioning
 
 
 def newer_mapping(image_tags):
     key = list(image_tags.keys())[0]
-    if not image_tags[key]:
+    version = semantic_versioning(image_tags[key])
+    if not version:
         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 {
         'tags': {key: version},
         'app_version': version,

+ 3 - 9
charts/nextcloud/upgrade_strategy

@@ -2,21 +2,15 @@
 import json
 import sys
 
-from pkg_resources import parse_version
-from pkg_resources.extern.packaging.version import Version
+from catalog_update.upgrade_strategy import semantic_versioning
 
 
 def newer_mapping(image_tags):
     key = list(image_tags.keys())[0]
-    if not image_tags[key]:
+    version = semantic_versioning(image_tags[key])
+    if not version:
         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 {
         'tags': {key: version},
         'app_version': version,

+ 3 - 10
charts/plex/upgrade_strategy

@@ -2,23 +2,16 @@
 import json
 import sys
 
-from pkg_resources import parse_version
-from pkg_resources.extern.packaging.version import Version
+from catalog_update.upgrade_strategy import semantic_versioning
 
 
 def newer_mapping(image_tags):
     key = list(image_tags.keys())[0]
-    if not image_tags[key]:
-        return {}
-
     tags = {t.rsplit('-', 1)[0]: t for t in image_tags[key]}
-
-    versions = [v for v in map(parse_version, tags) if isinstance(v, Version) and not v.is_prerelease]
-    if not versions:
+    version = semantic_versioning(list(tags))
+    if not version:
         return {}
 
-    versions.sort()
-    version = str(versions[-1])
     return {
         'tags': {key: tags[version]},
         'app_version': version,