From 3634834a16eb43f8d1a5c9d92f43d2d1a299ebef Mon Sep 17 00:00:00 2001 From: Stavros Kois <47820033+stavros-k@users.noreply.github.com> Date: Wed, 12 Apr 2023 15:30:25 +0300 Subject: [PATCH] Regex match nextcloud version to avoid pulling versions like `26` or `26.0` (#1067) --- library/ix-dev/charts/nextcloud/upgrade_strategy | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/library/ix-dev/charts/nextcloud/upgrade_strategy b/library/ix-dev/charts/nextcloud/upgrade_strategy index 02fe284868..75331a5842 100755 --- a/library/ix-dev/charts/nextcloud/upgrade_strategy +++ b/library/ix-dev/charts/nextcloud/upgrade_strategy @@ -1,19 +1,23 @@ #!/usr/bin/python3 import json +import re import sys from catalog_update.upgrade_strategy import semantic_versioning +RE_STABLE_VERSION = re.compile(r'^[0-9]+\.[0-9]+\.[0-9]+$') + + def newer_mapping(image_tags): key = list(image_tags.keys())[0] - # 21.1 is greater then 21.1.0 so we reverse sort bfeore doing semantic versioning - version = semantic_versioning(sorted(image_tags[key], reverse=True)) + tags = {t: t for t in image_tags[key] if RE_STABLE_VERSION.fullmatch(t)} + version = semantic_versioning(list(tags)) if not version: return {} return { - 'tags': {key: version}, + 'tags': {key: tags[version]}, 'app_version': version, }