Tag v0.12.3 was pushed but no Gitea release was created — no release notes appeared.
Root Causes
[skip ci] in release commit message — suppressed the tag-triggered publish.yml workflow, so the Gitea release was never created. The post-merge detect-type job already skips release commits, making [skip ci] redundant and harmful.
Post-merge publish only ran on release commits — if publish failed (e.g. tea login issue from DEVX-51) and the fix was merged later, the publish step saw HEAD wasn't a release commit and skipped, leaving the tag without a Gitea release.
409 Conflict treated as fatal — publish_to_gitea_registry raised on 409 (package already published), blocking Gitea release creation even though the release itself didn't exist yet.
Always run publish in post-merge (idempotent — skips if release already exists)
Treat 409 Conflict as non-fatal in publish_to_gitea_registry — continue to Gitea release creation
Applied same publish simplification to infra and grm post-merge workflows
Verification
Created missing v0.12.3 Gitea release locally with release notes
All 1029 unit tests pass with 100% coverage
Closes DEVX-52
## Problem
Tag `v0.12.3` was pushed but no Gitea release was created — no release notes appeared.
## Root Causes
1. **`[skip ci]` in release commit message** — suppressed the tag-triggered `publish.yml` workflow, so the Gitea release was never created. The post-merge `detect-type` job already skips release commits, making `[skip ci]` redundant and harmful.
2. **Post-merge publish only ran on release commits** — if publish failed (e.g. tea login issue from DEVX-51) and the fix was merged later, the publish step saw HEAD wasn't a release commit and skipped, leaving the tag without a Gitea release.
3. **409 Conflict treated as fatal** — `publish_to_gitea_registry` raised on 409 (package already published), blocking Gitea release creation even though the release itself didn't exist yet.
## Fixes
1. Remove `[skip ci]` from release commit messages — `detect-type` handles skipping
2. Always run publish in post-merge (idempotent — skips if release already exists)
3. Treat 409 Conflict as non-fatal in `publish_to_gitea_registry` — continue to Gitea release creation
4. Applied same publish simplification to infra and grm post-merge workflows
## Verification
- Created missing v0.12.3 Gitea release locally with release notes
- All 1029 unit tests pass with 100% coverage
Closes DEVX-52
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 44c6c42ede into master2026-06-25 21:26:14 +00:00
emil
deleted branch DEVX-52-guarantee-release-for-every-tag2026-06-25 21:26:15 +00:00
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.
Problem
Tag
v0.12.3was pushed but no Gitea release was created — no release notes appeared.Root Causes
[skip ci]in release commit message — suppressed the tag-triggeredpublish.ymlworkflow, so the Gitea release was never created. The post-mergedetect-typejob already skips release commits, making[skip ci]redundant and harmful.Post-merge publish only ran on release commits — if publish failed (e.g. tea login issue from DEVX-51) and the fix was merged later, the publish step saw HEAD wasn't a release commit and skipped, leaving the tag without a Gitea release.
409 Conflict treated as fatal —
publish_to_gitea_registryraised on 409 (package already published), blocking Gitea release creation even though the release itself didn't exist yet.Fixes
[skip ci]from release commit messages —detect-typehandles skippingpublish_to_gitea_registry— continue to Gitea release creationVerification
Closes DEVX-52
Automated PR Review
No issues found by automated checks.
Auto-merge: If all CI checks pass, this PR will be merged automatically.