The rerun/resume path added by #216 rejects the stable tag it is intended to resume.
When a stable tag already points at HEAD and no GitHub release exists, .github/workflows/release.yml selects that tag as VERSION. The later tag-existence check then fails merely because refs/tags/$VERSION exists, without accepting the case where the tag resolves to the current HEAD. This prevents the documented rerun-to-publish recovery path from completing.
This was identified while syncing #216 into ClickHouse/ai: https://github.com/ClickHouse/ai/pull/3846#discussion_r4032462081
Suggested direction: permit an existing version tag when it resolves to the release commit, reject it only when it points elsewhere, and add coverage for resuming after tag creation but before GitHub release publication.
The rerun/resume path added by #216 rejects the stable tag it is intended to resume.
When a stable tag already points at
HEADand no GitHub release exists,.github/workflows/release.ymlselects that tag asVERSION. The later tag-existence check then fails merely becauserefs/tags/$VERSIONexists, without accepting the case where the tag resolves to the currentHEAD. This prevents the documented rerun-to-publish recovery path from completing.This was identified while syncing #216 into ClickHouse/ai: https://github.com/ClickHouse/ai/pull/3846#discussion_r4032462081
Suggested direction: permit an existing version tag when it resolves to the release commit, reject it only when it points elsewhere, and add coverage for resuming after tag creation but before GitHub release publication.