Skip to content

Commit 403da0a

Browse files
committed
handle no projects impacted case
1 parent d6da50c commit 403da0a

File tree

2 files changed

+30
-2
lines changed

2 files changed

+30
-2
lines changed

backend/controllers/github.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -444,6 +444,10 @@ func handlePullRequestEvent(gh utils.GithubClientProvider, payload *github.PullR
444444
utils.InitCommentReporter(ghService, prNumber, fmt.Sprintf(":x: Failed to comment initial status for jobs: %v", err))
445445
return fmt.Errorf("failed to comment initial status for jobs")
446446
}
447+
448+
if len(jobsForImpactedProjects) == 0 {
449+
return nil
450+
}
447451

448452
err = utils.SetPRStatusForJobs(ghService, prNumber, jobsForImpactedProjects)
449453
if err != nil {
@@ -573,7 +577,7 @@ func handleIssueCommentEvent(gh utils.GithubClientProvider, payload *github.Issu
573577
issueNumber := *payload.Issue.Number
574578

575579
if *payload.Action != "created" {
576-
log.Printf("comment is not created, ignoring")
580+
log.Printf("comment is not of type 'created', ignoring")
577581
return nil
578582
}
579583

@@ -610,7 +614,6 @@ func handleIssueCommentEvent(gh utils.GithubClientProvider, payload *github.Issu
610614
}
611615

612616
jobs, _, err := dg_github.ConvertGithubIssueCommentEventToJobs(payload, impactedProjects, requestedProject, config.Workflows, prBranchName)
613-
614617
if err != nil {
615618
log.Printf("Error converting event to jobs: %v", err)
616619
utils.InitCommentReporter(ghService, issueNumber, fmt.Sprintf(":x: Error converting event to jobs: %v", err))
@@ -625,6 +628,10 @@ func handleIssueCommentEvent(gh utils.GithubClientProvider, payload *github.Issu
625628
return fmt.Errorf("failed to comment initial status for jobs")
626629
}
627630

631+
if len(jobs) == 0 {
632+
return nil
633+
}
634+
628635
err = utils.SetPRStatusForJobs(ghService, issueNumber, jobs)
629636
if err != nil {
630637
log.Printf("error setting status for PR: %v", err)

backend/utils/pr_comment.go

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,27 @@ func InitCommentReporter(prService *github2.GithubService, prNumber int, comment
2525
}
2626

2727
func ReportInitialJobsStatus(cr *CommentReporter, jobs []orchestrator.Job) error {
28+
prNumber := cr.PrNumber
29+
prService := cr.PrService
30+
commentId := cr.CommentId
31+
message := ""
32+
if len(jobs) == 0 {
33+
message = message + ":construction_worker: The following projects are impacted\n\n"
34+
for _, job := range jobs {
35+
message = message + fmt.Sprintf(""+
36+
"<!-- PROJECTHOLDER %v -->\n"+
37+
":clock11: **%v**: pending...\n"+
38+
"<!-- PROJECTHOLDEREND %v -->\n"+
39+
"", job.ProjectName, job.ProjectName, job.ProjectName)
40+
}
41+
} else {
42+
message = message + ":construction_worker: No projects impacted"
43+
}
44+
err := prService.EditComment(prNumber, commentId, message)
45+
return err
46+
}
47+
48+
func ReportNoProjectsImpacted(cr *CommentReporter, jobs []orchestrator.Job) error {
2849
prNumber := cr.PrNumber
2950
prService := cr.PrService
3051
commentId := cr.CommentId

0 commit comments

Comments
 (0)