diff --git a/charts/chia/upgrade_strategy b/charts/chia/upgrade_strategy index 2d5cd5d8f1..adafa41868 100755 --- a/charts/chia/upgrade_strategy +++ b/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, diff --git a/charts/ipfs/upgrade_strategy b/charts/ipfs/upgrade_strategy index 2d5cd5d8f1..adafa41868 100755 --- a/charts/ipfs/upgrade_strategy +++ b/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, diff --git a/charts/nextcloud/upgrade_strategy b/charts/nextcloud/upgrade_strategy index 2d5cd5d8f1..adafa41868 100755 --- a/charts/nextcloud/upgrade_strategy +++ b/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, diff --git a/charts/plex/upgrade_strategy b/charts/plex/upgrade_strategy index c08fe77db6..a8940ad684 100755 --- a/charts/plex/upgrade_strategy +++ b/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,