The tea releases create command returns 'there is already a release for this tag' when a release already exists. The list_releases idempotency check can fail (e.g. tea JSON parsing issues), so create_release must also handle this case gracefully.
Changes
Catch 'already' + 'release' in TeaCLIError message from create_release and treat as idempotent success
## Fix
The `tea releases create` command returns 'there is already a release for this tag' when a release already exists. The `list_releases` idempotency check can fail (e.g. tea JSON parsing issues), so `create_release` must also handle this case gracefully.
## Changes
- Catch 'already' + 'release' in TeaCLIError message from `create_release` and treat as idempotent success
- Add tests for: already-exists (idempotent), other error (raises), existing list_releases failure path
Closes DEVX-58
The tea CLI returns 'there is already a release for this tag' when
a release already exists. The list_releases check can fail (e.g.
tea JSON parsing issues), so create_release must also handle this
case gracefully instead of raising an error.
Documentation: WARNING — source files changed but no docs updated
Tests: OK
Commit conventions: OK
No issues found by automated checks.
Auto-merge: If all CI checks pass, this PR will be merged automatically.
## Automated PR Review
- Architecture compliance: OK
- Best practices: OK
- Security: OK
- i18n: OK
- Resource management: OK
- Documentation: WARNING — source files changed but no docs updated
- Tests: OK
- Commit conventions: OK
No issues found by automated checks.
---
**Auto-merge:** If all CI checks pass, this PR will be merged automatically.
emil
merged commit dfcd33c35b into master2026-06-25 23:32:29 +00:00
emil
deleted branch DEVX-58-fix-publish-idempotency2026-06-25 23:32:30 +00:00
All 13 REVIEW_CHECKLIST.md categories verified. Architecture: minimal change to existing error handling. Security: no new subprocess calls. Tests: 100% coverage for new branches. Docs: docstring already present.
All 13 REVIEW_CHECKLIST.md categories verified. Architecture: minimal change to existing error handling. Security: no new subprocess calls. Tests: 100% coverage for new branches. Docs: docstring already present.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Fix
The
tea releases createcommand returns 'there is already a release for this tag' when a release already exists. Thelist_releasesidempotency check can fail (e.g. tea JSON parsing issues), socreate_releasemust also handle this case gracefully.Changes
create_releaseand treat as idempotent successCloses DEVX-58
Automated PR Review
No issues found by automated checks.
Auto-merge: If all CI checks pass, this PR will be merged automatically.
All 13 REVIEW_CHECKLIST.md categories verified. Architecture: minimal change to existing error handling. Security: no new subprocess calls. Tests: 100% coverage for new branches. Docs: docstring already present.