Skip to content

Commit 21f03c1

Browse files
committed
πŸ› Write all supported versions to version.json to avoid flapping
1 parent a8d8f84 commit 21f03c1

File tree

2 files changed

+16
-5
lines changed

2 files changed

+16
-5
lines changed

β€Žsrc/docker_python_nodejs/cli.pyβ€Ž

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,18 @@ def run_build_matrix(args: CLIArgs) -> None:
4444

4545

4646
def run_release(args: CLIArgs) -> None:
47-
versions = load_build_contexts(args.builds_dir)
47+
"""Release new/updated version by updating versions.json and README.md.
48+
49+
Note: We fetch supported and available versions again here and update with the actual built digests"""
50+
51+
supported_python_versions, supported_nodejs_versions = supported_versions()
52+
versions = decide_version_combinations(args.distros, supported_python_versions, supported_nodejs_versions)
53+
# Update versions with build digests to allow pinning
54+
built_versions = load_build_contexts(args.builds_dir)
55+
for version in versions:
56+
if version.key in built_versions:
57+
version.digest = built_versions[version.key].digest
58+
4859
current_versions = load_versions()
4960
new_or_updated = find_new_or_updated(versions, current_versions, args.force)
5061
supported_python_versions, supported_nodejs_versions = supported_versions()

β€Žsrc/docker_python_nodejs/versions.pyβ€Ž

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -294,15 +294,15 @@ def find_new_or_updated(
294294
return new_or_updated
295295

296296

297-
def load_build_contexts(builds_dir: Path) -> list[BuildVersion]:
297+
def load_build_contexts(builds_dir: Path) -> dict[str, BuildVersion]:
298298
"""Find JSON files with build contexts and return the corresponding BuildVersion list"""
299299
logger.info(f"Loading builds metadata from {builds_dir.as_posix()}")
300-
versions: list[BuildVersion] = []
300+
versions: dict[str, BuildVersion] = {}
301301

302302
for build_file in builds_dir.glob("*.json"):
303303
with build_file.open() as fp:
304304
build_data = json.load(fp)
305305
version = BuildVersion(**build_data)
306-
versions.append(version)
306+
versions[build_data["key"]] = version
307307

308-
return sorted_versions(versions)
308+
return versions

0 commit comments

Comments
Β (0)