Skip to content

Commit f0135f1

Browse files
committed
update versioning logic
1 parent 8054137 commit f0135f1

File tree

2 files changed

+2948
-14
lines changed

2 files changed

+2948
-14
lines changed

src/rechunk/utils.py

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -145,27 +145,19 @@ def get_labels(
145145

146146
prev_labels = prev_manifest.get("Labels", {}) if prev_manifest else {}
147147
prev_version = prev_labels.get(VERSION_TAG, None) if prev_labels else None
148+
prev_versions = prev_manifest.get("RepoTags", []) if prev_manifest else []
148149

149150
new_labels = {}
150151
if version:
151152
version = version.replace("<date>", date)
152153

153-
if version != prev_version:
154+
if version != prev_version and version not in prev_versions:
154155
new_version = version
155-
elif prev_version and "." in prev_version:
156-
logger.warning(f"Version is the same as previous: {prev_version}")
157-
try:
158-
idx = prev_version.rindex(".")
159-
assert (
160-
len(prev_version) - idx <= 3
161-
), "Avoid writing version if we start going too far back"
162-
major = prev_version[:idx]
163-
minor = prev_version[idx + 1 :]
164-
new_version = f"{major}.{int(minor) + 1}"
165-
except Exception:
166-
new_version = f"{prev_version}.2"
167156
else:
168-
new_version = f"{prev_version}.2"
157+
for i in range(1, 10):
158+
new_version = f"{version}.{i}"
159+
if new_version not in prev_versions:
160+
break
169161

170162
logger.info(f"New version: '{new_version}'")
171163
new_labels[VERSION_TAG] = new_version

0 commit comments

Comments
 (0)