Skip to content

Commit baa8c8c

Browse files
authored
Add '@prerelease' to use latest test frontend (comfyanonymous#8501)
* Add '@prerelease' to use latest test frontend Allows download of pre-release versions. Will always get the latest pre-release version - even if it's older than the latest stable release. * nit
1 parent 40fd39c commit baa8c8c

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

app/frontend_management.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,9 +112,22 @@ def latest_release(self) -> Release:
112112
response.raise_for_status() # Raises an HTTPError if the response was an error
113113
return response.json()
114114

115+
@cached_property
116+
def latest_prerelease(self) -> Release:
117+
"""Get the latest pre-release version - even if it's older than the latest release"""
118+
release = [release for release in self.all_releases if release["prerelease"]]
119+
120+
if not release:
121+
raise ValueError("No pre-releases found")
122+
123+
# GitHub returns releases in reverse chronological order, so first is latest
124+
return release[0]
125+
115126
def get_release(self, version: str) -> Release:
116127
if version == "latest":
117128
return self.latest_release
129+
elif version == "prerelease":
130+
return self.latest_prerelease
118131
else:
119132
for release in self.all_releases:
120133
if release["tag_name"] in [version, f"v{version}"]:
@@ -221,7 +234,7 @@ def parse_version_string(cls, value: str) -> tuple[str, str, str]:
221234
Raises:
222235
argparse.ArgumentTypeError: If the version string is invalid.
223236
"""
224-
VERSION_PATTERN = r"^([a-zA-Z0-9][a-zA-Z0-9-]{0,38})/([a-zA-Z0-9_.-]+)@(v?\d+\.\d+\.\d+[-._a-zA-Z0-9]*|latest)$"
237+
VERSION_PATTERN = r"^([a-zA-Z0-9][a-zA-Z0-9-]{0,38})/([a-zA-Z0-9_.-]+)@(v?\d+\.\d+\.\d+[-._a-zA-Z0-9]*|latest|prerelease)$"
225238
match_result = re.match(VERSION_PATTERN, value)
226239
if match_result is None:
227240
raise argparse.ArgumentTypeError(f"Invalid version string: {value}")

0 commit comments

Comments
 (0)