diff --git a/Dockerfile b/Dockerfile index 1c120f0..e37c137 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ FROM buildpack-deps:bookworm AS builder-base LABEL org.opencontainers.image.authors="Joe Banks , Chris Lovering " -ARG PYENV_VERSION="v2.6.11" +ARG PYENV_VERSION="v2.8.4" RUN apt-get -y update \ && apt-get install -y --no-install-recommends \ @@ -15,7 +15,7 @@ RUN apt-get -y update \ # Following guidance from https://github.com/python/cpython/blob/main/Tools/jit/README.md RUN curl -o /tmp/llvm.sh https://apt.llvm.org/llvm.sh \ && chmod +x /tmp/llvm.sh \ - && /tmp/llvm.sh 19 \ + && /tmp/llvm.sh 22 \ && rm /tmp/llvm.sh ENV PYENV_ROOT=/pyenv \ diff --git a/scripts/find_version.py b/scripts/find_version.py index 2457eea..4c1d059 100644 --- a/scripts/find_version.py +++ b/scripts/find_version.py @@ -1,7 +1,9 @@ -from pathlib import Path -import tomllib import json import os +from pathlib import Path + +import tomllib + def resolve_version(friendly_version: str) -> str: """Resolve a friendly version like '3.10t' to an exact version like '3.10.12'.""" @@ -29,8 +31,14 @@ def resolve_version(friendly_version: str) -> str: if not matching_versions: raise ValueError(f"No matching versions found for base version '{base_version}'") - # Sort versions to get the latest - matching_versions.sort(key=lambda s: list(map(int, s.split('.')))) + def version_sort_key(s): + def part_key(p): + n, *rc = p.split('rc') + # rc suffix sorts below final release (no rc = inf) + return (int(n), int(rc[0]) if rc else float('inf')) + return [part_key(p) for p in s.split('.')] + + matching_versions.sort(key=version_sort_key) latest_version = matching_versions[-1] diff --git a/versions.toml b/versions.toml index 10d2b52..7e491af 100644 --- a/versions.toml +++ b/versions.toml @@ -16,6 +16,9 @@ [config] versions = [ + "3.15", + "3.15t", + "3.15j", "3.14", "3.14t", "3.14j", @@ -23,5 +26,4 @@ versions = [ "3.13t", "3.12", "3.11", - "3.10", ]