Skip to content

Commit 48e93af

Browse files
authored
handle summary updating when message is too long (#1833)
1 parent 3279106 commit 48e93af

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

backend/utils/pr_comment.go

+11
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,17 @@ func ReportInitialJobsStatus(cr *CommentReporter, jobs []scheduler.Job) error {
9191
"|:clock11: **%v**|pending...|\n", job.ProjectName)
9292
}
9393
}
94+
95+
const GithubCommentMaxLength = 65536
96+
97+
if len(message) > GithubCommentMaxLength {
98+
// TODO: Handle the case where message is too long by trimming
99+
log.Printf("WARN: message is too long, trimming")
100+
log.Printf(message)
101+
const footer = "[trimmed]"
102+
trimLength := len(message) - GithubCommentMaxLength + len(footer)
103+
message = message[:len(message)-trimLength] + footer
104+
}
94105
err := prService.EditComment(prNumber, commentId, message)
95106
return err
96107
}

libs/comment_utils/summary/updater.go

+14-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,20 @@ func (b BasicCommentUpdater) UpdateComment(jobs []scheduler.SerializedJob, prNum
3535
message = message + fmt.Sprintf("|%v **%v** |<a href='%v'>%v</a> | <a href='%v'>%v</a> | %v | %v | %v|\n", job.Status.ToEmoji(), jobSpec.ProjectName, *job.WorkflowRunUrl, job.Status.ToString(), prCommentUrl, jobTypeTitle, job.ResourcesCreated, job.ResourcesUpdated, job.ResourcesDeleted)
3636
}
3737

38-
prService.EditComment(prNumber, prCommentId, message)
38+
const GithubCommentMaxLength = 65536
39+
if len(message) > GithubCommentMaxLength {
40+
// TODO: Handle the case where message is too long by trimming
41+
log.Printf("WARN: message is too long, trimming")
42+
log.Printf(message)
43+
const footer = "[trimmed]"
44+
trimLength := len(message) - GithubCommentMaxLength + len(footer)
45+
message = message[:len(message)-trimLength] + footer
46+
}
47+
48+
err = prService.EditComment(prNumber, prCommentId, message)
49+
if err != nil {
50+
log.Printf("WARNING: failed to update summary comment: %v", err)
51+
}
3952
return nil
4053
}
4154

0 commit comments

Comments
 (0)