Skip to content

fix(release): support release candidate tags (vX.Y.Z-rc.N) and mark prereleases - #65

Merged
github-actions[bot] merged 5 commits into
developfrom
feature/rc-tag-support
Aug 7, 2026
Merged

fix(release): support release candidate tags (vX.Y.Z-rc.N) and mark prereleases#65
github-actions[bot] merged 5 commits into
developfrom
feature/rc-tag-support

Conversation

@matheus-souza

@matheus-souza matheus-souza commented Aug 6, 2026

Copy link
Copy Markdown
Owner

Summary of Changes

  • SemVer Regex Update: Updated Makefile release target regex to ^v[0-9]+\.[0-9]+\.[0-9]+(-rc\.[0-9]+)?$ to support release candidate tags (e.g. v1.0.0-rc.26).
  • Pre-Release Workflow Handling: Updated .github/workflows/release.yml to set prerelease: true on GitHub Release creation whenever tag contains -rc.

Summary by CodeRabbit

  • Novos recursos

    • Adicionado suporte a versões estáveis e candidatas (vX.Y.Z-rc.N) no processo de release.
    • Imagens Docker agora recebem a versão completa informada.
    • Releases candidatas são identificadas como pré-lançamentos no GitHub.
    • A tag latest é atualizada somente para releases estáveis.
  • Melhorias

    • Atualizadas as mensagens de uso, validações e documentação para os novos formatos de versão e procedimentos de rollback.

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 51985e6a-e89e-4ae7-8573-dc177aa6198b

📥 Commits

Reviewing files that changed from the base of the PR and between 15dbc5e and 5575282.

📒 Files selected for processing (1)
  • .github/workflows/release.yml
🚧 Files skipped from review as they are similar to previous changes (1)
  • .github/workflows/release.yml

Walkthrough

O Makefile, o workflow e a documentação de release passaram a aceitar versões estáveis e candidatas no formato vX.Y.Z-rc.N. O workflow identifica prereleases, publica imagens com a tag completa e configura :latest e o status da release conforme o tipo da versão.

Changes

Suporte a versões de release

Layer / File(s) Summary
Validação de versões
Makefile, .github/workflows/release.yml
O target release e a entrada manual do workflow aceitam versões estáveis e vX.Y.Z-rc.N. O workflow exporta is_prerelease para versões candidatas.
Publicação da versão
.github/workflows/release.yml, docs/RELEASE.md
As imagens Docker usam a tag completa. A tag latest é criada apenas para releases estáveis. A release do GitHub recebe o status prerelease conforme is_prerelease.
Procedimento de release
docs/RELEASE.md
A documentação descreve os formatos aceitos, os comandos de disparo, os testes com imagens RC e o rollback para versões estáveis ou candidatas.

Estimated code review effort: 2 (Simple) | ~10 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Operador
  participant Makefile
  participant Workflow
  participant GHCR
  participant GitHubRelease
  Operador->>Makefile: informa uma versão estável ou -rc.N
  Makefile->>Workflow: dispara o workflow de release
  Workflow->>GHCR: publica a imagem com a tag completa
  Workflow->>GHCR: publica latest somente para versão estável
  Workflow->>GitHubRelease: cria a release com status prerelease conforme a versão
Loading

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed O título descreve com precisão o suporte a tags de release candidate e a marcação de prereleases, que são as principais alterações do pull request.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/rc-tag-support

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions
github-actions Bot enabled auto-merge (squash) August 6, 2026 14:12
@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown

📊 Code Coverage Summary Report

Package / Module Covered Lines Total Lines Coverage Status
internal/platform/crypto 29 36 80.6% 🟡
internal/platform/eventbus 45 55 81.8% 🟡
internal/platform/httputil 94 98 95.9% 🟢
internal/platform/logger 1 1 100.0% 🟢
internal/platform/sdk 10 11 90.9% 🟢
internal/platform/spa 34 34 100.0% 🟢
modules/audit 13 14 92.9% 🟢
modules/configuration 0 2 0.0% 🔴
modules/configuration/controller 25 25 100.0% 🟢
modules/configuration/dto 14 17 82.4% 🟡
modules/configuration/repository 0 72 0.0% 🔴
modules/configuration/usecase 25 29 86.2% 🟢
modules/credentials 4 4 100.0% 🟢
modules/credentials/controller 59 60 98.3% 🟢
modules/credentials/dto 11 11 100.0% 🟢
modules/credentials/repository 42 44 95.5% 🟢
modules/credentials/usecase 50 54 92.6% 🟢
modules/discovery 0 5 0.0% 🔴
modules/discovery/controller 51 51 100.0% 🟢
modules/discovery/dto 13 13 100.0% 🟢
modules/discovery/engine 128 132 97.0% 🟢
modules/discovery/repository 0 72 0.0% 🔴
modules/discovery/usecase 95 108 88.0% 🟢
modules/identity 0 3 0.0% 🔴
modules/identity/controller 36 43 83.7% 🟡
modules/identity/dto 8 8 100.0% 🟢
modules/identity/repository 6 58 10.3% 🔴
modules/identity/usecase 74 86 86.0% 🟢
modules/integrations 2 2 100.0% 🟢
modules/integrations/controller 23 26 88.5% 🟢
modules/integrations/dto 5 5 100.0% 🟢
modules/integrations/providers/docker 64 73 87.7% 🟢
modules/integrations/providers/proxmox 67 78 85.9% 🟢
modules/integrations/registry 20 20 100.0% 🟢
modules/inventory 0 10 0.0% 🔴
modules/inventory/controller 123 124 99.2% 🟢
modules/inventory/dto 17 17 100.0% 🟢
modules/inventory/repository 0 87 0.0% 🔴
modules/inventory/usecase 174 181 96.1% 🟢
modules/realtime 1 1 100.0% 🟢
modules/realtime/controller 36 41 87.8% 🟢
modules/realtime/dto 3 3 100.0% 🟢
modules/realtime/gateway 71 78 91.0% 🟢
modules/topology 5 5 100.0% 🟢
modules/topology/controller 59 63 93.7% 🟢
modules/topology/dto 22 22 100.0% 🟢
modules/topology/repository 0 112 0.0% 🔴
modules/topology/usecase 82 93 88.2% 🟢

Note

Total Filtered Application Coverage: 75.0% (1641 / 2187 lines) 🟡

@codecov

codecov Bot commented Aug 6, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 87.28%. Comparing base (e243649) to head (5575282).
⚠️ Report is 7 commits behind head on develop.

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           develop      #65      +/-   ##
===========================================
+ Coverage    86.99%   87.28%   +0.28%     
===========================================
  Files          109      115       +6     
  Lines         3653     3814     +161     
  Branches       140      158      +18     
===========================================
+ Hits          3178     3329     +151     
- Misses         346      347       +1     
- Partials       129      138       +9     
Flag Coverage Δ
backend 85.83% <ø> (+0.12%) ⬆️
frontend 90.15% <ø> (+0.23%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 2 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (1)
Makefile (1)

51-53: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Atualize docs/RELEASE.md para refletir o novo contrato.

O guia ainda descreve somente vX.Y.Z e o fluxo de publicação estável. Este código aceita vX.Y.Z-rc.N. Documente também o status prerelease, as tags Docker completas e a política da tag latest.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Makefile` around lines 51 - 53, Update the release documentation around the
release workflow to reflect the VERSION contract accepted by the Makefile’s
release target, including both vX.Y.Z and vX.Y.Z-rc.N formats. Document
prerelease publishing, complete Docker tags, and the policy governing the latest
tag while preserving the existing stable-release guidance.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/release.yml:
- Around line 26-30: Atualize o bloco que define TAG no workflow para não
interpolar diretamente inputs.version ou github.ref_name no script shell: passe
esses valores por env, leia-os com aspas e rejeite entradas multilinha antes da
validação e da escrita de tag e is_prerelease em GITHUB_OUTPUT.
- Line 68: Atualize o workflow de release para separar tags prerelease das
estáveis: mantenha steps.release_tag.outputs.tag completo no nome da release,
derive os aliases semver estáveis removendo -rc.* e preserve os aliases
vMAJOR.MINOR. Publique latest somente quando is_prerelease for false, sem
alterar os aliases ou tags das releases prerelease.

In `@Makefile`:
- Line 53: Use the strict SemVer component pattern 0|[1-9][0-9]* in both
validation entry points: update VERSION validation in Makefile lines 53-53,
escaping the final $ as $$, and update TAG validation in
.github/workflows/release.yml lines 31-34 with the same pattern so leading zeros
are rejected.

---

Nitpick comments:
In `@Makefile`:
- Around line 51-53: Update the release documentation around the release
workflow to reflect the VERSION contract accepted by the Makefile’s release
target, including both vX.Y.Z and vX.Y.Z-rc.N formats. Document prerelease
publishing, complete Docker tags, and the policy governing the latest tag while
preserving the existing stable-release guidance.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 45a3cd37-156c-4f51-8e46-4c0279b31eda

📥 Commits

Reviewing files that changed from the base of the PR and between 96bd210 and 0f5d493.

📒 Files selected for processing (2)
  • .github/workflows/release.yml
  • Makefile

Comment thread .github/workflows/release.yml Outdated
Comment thread .github/workflows/release.yml
Comment thread Makefile Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/release.yml:
- Around line 36-41: Update the tag validation block around TAG to reject any
carriage-return or newline characters before running grep, ensuring multiline
input cannot reach validation or output. Use printf for the validation input and
quote "$GITHUB_OUTPUT" when writing the tag output.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: b83fdfde-5fa2-4a9b-ae5a-be50aa390f8f

📥 Commits

Reviewing files that changed from the base of the PR and between 0f5d493 and 15dbc5e.

📒 Files selected for processing (3)
  • .github/workflows/release.yml
  • Makefile
  • docs/RELEASE.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • Makefile

Comment thread .github/workflows/release.yml Outdated
@github-actions
github-actions Bot merged commit 3ed3a78 into develop Aug 7, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant