@@ -201,13 +201,23 @@ func collectFootnotes(results []diff.DiffResult) []string {
201201}
202202
203203func renderLabelsMarkdown (results []diff.DiffResult ) string {
204- validSeen := make (map [string ]string )
204+ type labelEntry struct {
205+ Name string
206+ HostCount uint
207+ }
208+ var validLabels []labelEntry
209+ validSeen := make (map [string ]bool )
205210 missingSeen := make (map [string ]string )
211+ anyNonZero := false
206212
207213 for _ , result := range results {
208214 for _ , l := range result .Labels .Valid {
209- if _ , ok := validSeen [l .Name ]; ! ok {
210- validSeen [l .Name ] = fmt .Sprintf ("- ✅ `%s` (%d hosts)\n " , l .Name , l .HostCount )
215+ if ! validSeen [l .Name ] {
216+ validSeen [l .Name ] = true
217+ validLabels = append (validLabels , labelEntry {l .Name , l .HostCount })
218+ if l .HostCount > 0 {
219+ anyNonZero = true
220+ }
211221 }
212222 }
213223 for _ , l := range result .Labels .Missing {
@@ -217,13 +227,17 @@ func renderLabelsMarkdown(results []diff.DiffResult) string {
217227 }
218228 }
219229
220- if len (validSeen ) == 0 && len (missingSeen ) == 0 {
230+ if len (validLabels ) == 0 && len (missingSeen ) == 0 {
221231 return ""
222232 }
223233
224234 var sb strings.Builder
225- for _ , line := range validSeen {
226- sb .WriteString (line )
235+ for _ , l := range validLabels {
236+ if anyNonZero {
237+ sb .WriteString (fmt .Sprintf ("- ✅ `%s` (%d hosts)\n " , l .Name , l .HostCount ))
238+ } else {
239+ sb .WriteString (fmt .Sprintf ("- ✅ `%s`\n " , l .Name ))
240+ }
227241 }
228242 for _ , line := range missingSeen {
229243 sb .WriteString (line )
0 commit comments