This is an automated email from the ASF dual-hosted git repository.
sbp pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tooling-trusted-releases.git
The following commit(s) were added to refs/heads/main by this push:
new d4934ec Improve the error message when creating a release that
already exists
d4934ec is described below
commit d4934ec263c544822fe3fab29f13ce4cedab241b
Author: Sean B. Palmer <[email protected]>
AuthorDate: Mon Dec 29 17:07:04 2025 +0000
Improve the error message when creating a release that already exists
---
atr/storage/writers/release.py | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/atr/storage/writers/release.py b/atr/storage/writers/release.py
index fdf4284..c8c8c4a 100644
--- a/atr/storage/writers/release.py
+++ b/atr/storage/writers/release.py
@@ -337,7 +337,7 @@ class CommitteeParticipant(FoundationCommitter):
creation_error = str(creating.failed) if (creating.failed is not None)
else None
return creation_error, renamed_count, error_messages
- async def start(self, project_name: str, version: str) ->
tuple[sql.Release, sql.Project]:
+ async def start(self, project_name: str, version: str) ->
tuple[sql.Release, sql.Project]: # noqa: C901
"""Creates the initial release draft record and revision directory."""
# Get the project from the project name
project = await self.__data.project(name=project_name,
status=sql.ProjectStatus.ACTIVE, _committee=True).get()
@@ -368,12 +368,16 @@ class CommitteeParticipant(FoundationCommitter):
# TODO: Consider using Release.revision instead of ./latest
# Check whether the release already exists
if release := await self.__data.release(project_name=project.name,
version=version).get():
- if release.phase == sql.ReleasePhase.RELEASE_CANDIDATE_DRAFT:
- raise storage.AccessError(f"A draft for {project_name}
{version} already exists.")
- else:
- raise storage.AccessError(
- f"A release ({release.phase.value}) for {project_name}
{version} already exists."
- )
+ match release.phase:
+ case sql.ReleasePhase.RELEASE_CANDIDATE_DRAFT:
+ phase_desc = "A draft release (being composed)"
+ case sql.ReleasePhase.RELEASE_CANDIDATE:
+ phase_desc = "A release candidate (being voted on)"
+ case sql.ReleasePhase.RELEASE_PREVIEW:
+ phase_desc = "A release preview (being finished)"
+ case sql.ReleasePhase.RELEASE:
+ phase_desc = "A finished release"
+ raise storage.AccessError(f"{phase_desc} for {project_name}
{version} already exists.")
# Validate the version name
# TODO: We should check that it's bigger than the current version
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]