DEVX-52: Guarantee Gitea release for every tag #80

Merged
emil merged 0 commits from DEVX-52-guarantee-release-for-every-tag into master 2026-06-25 21:26:14 +00:00
Owner

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 fatalpublish_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

## 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
emil added the ready-to-merge label 2026-06-25 21:11:06 +00:00
emil reviewed 2026-06-25 21:25:19 +00:00
emil left a comment
Author
Owner

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.

## 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 master 2026-06-25 21:26:14 +00:00
emil deleted branch DEVX-52-guarantee-release-for-every-tag 2026-06-25 21:26:15 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: oblachno-oss/devx#80