Complete guided release console workflow
This commit is contained in:
@@ -2218,7 +2218,7 @@ def _validated_result_receipt(
|
||||
"Catalog publication receipt identity is invalid."
|
||||
)
|
||||
return dict(value)
|
||||
if set(value) != {
|
||||
repository_fields = {
|
||||
"kind",
|
||||
"repo",
|
||||
"head",
|
||||
@@ -2228,7 +2228,8 @@ def _validated_result_receipt(
|
||||
"worktree_clean",
|
||||
"target_tag",
|
||||
"tag_object",
|
||||
}:
|
||||
}
|
||||
if set(value) not in (repository_fields, repository_fields | {"worktree_sha256"}):
|
||||
raise ReleaseRunConflict("Repository result receipt is invalid.")
|
||||
if (
|
||||
not isinstance(value.get("repo"), str)
|
||||
@@ -2241,6 +2242,10 @@ def _validated_result_receipt(
|
||||
or value.get("remote") != "origin"
|
||||
or not _is_sha256(value.get("remote_sha256"))
|
||||
or type(value.get("worktree_clean")) is not bool
|
||||
or (
|
||||
"worktree_sha256" in value
|
||||
and not _is_sha256(value.get("worktree_sha256"))
|
||||
)
|
||||
or not isinstance(value.get("target_tag"), str)
|
||||
or len(value["target_tag"]) > 160
|
||||
or (
|
||||
|
||||
Reference in New Issue
Block a user