This is an automated email from the ASF dual-hosted git repository.

DaanHoogland pushed a commit to branch DaanHoogland-patch-7
in repository https://gitbox.apache.org/repos/asf/cloudstack.git

commit 500a3b5639c934c521e355f94e309ca3a8bc0468
Author: dahn <[email protected]>
AuthorDate: Fri Aug 14 15:19:53 2026 +0200

    Update sonar-check.yml to manage coverage comments
    
    Refactor coverage comment handling to update existing comments if present.
---
 .github/workflows/sonar-check.yml | 24 +++++++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/sonar-check.yml 
b/.github/workflows/sonar-check.yml
index fbb3cb9f540..250b601cacb 100644
--- a/.github/workflows/sonar-check.yml
+++ b/.github/workflows/sonar-check.yml
@@ -80,12 +80,14 @@ jobs:
             const emojiMap  = { A: '🟢', B: '🟡', C: '🟠', D: '🔴', F: '⛔' };
             const emoji     = emojiMap[grade] ?? '❓';
             const runUrl    = 
`${context.serverUrl}/${context.repo.owner}/${context.repo.repo}/actions/runs/${context.runId}`;
+            const marker    = '<!-- coverage-grade-bot -->';
 
             const branchRow = branchPct !== 'N/A'
               ? `| Branch coverage | **${branchPct}%** |`
               : '';
 
             const body = [
+              marker,
               `## ${emoji} Test Coverage Grade: \`${grade}\` — ${label}`,
               '',
               '| Metric | Value |',
@@ -106,10 +108,26 @@ jobs:
               `> [View full Actions run](${runUrl})`,
             ].filter(l => l !== undefined).join('\n');
 
-            await github.rest.issues.createComment({
+            const { data: comments } = await github.rest.issues.listComments({
               owner:        context.repo.owner,
               repo:         context.repo.repo,
               issue_number: context.issue.number,
-              body:         body,
             });
-            console.log('Posted coverage grade comment');
+           const existing = comments.find(c => c.user.type === 'Bot' && 
c.body.includes(marker));
+           if (existing) {
+             await github.rest.issues.updateComment({
+               owner:      context.repo.owner,
+               repo:       context.repo.repo,
+               comment_id: existing.id,
+               body:       body,
+             });
+             console.log('Updated existing coverage grade comment');
+           } else {
+             await github.rest.issues.createComment({
+               owner:        context.repo.owner,
+               repo:         context.repo.repo,
+               issue_number: context.issue.number,
+               body:         body,
+             });
+             console.log('Posted coverage grade comment');
+           }

Reply via email to