浏览代码

Use semantic versioning common strategy from catalog_update

sonicaj 4 年之前
父节点
当前提交
63f42170de
共有 4 个文件被更改,包括 12 次插入37 次删除
  1. 3 9
      charts/chia/upgrade_strategy
  2. 3 9
      charts/ipfs/upgrade_strategy
  3. 3 9
      charts/nextcloud/upgrade_strategy
  4. 3 10
      charts/plex/upgrade_strategy

+ 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,