@@ -35,27 +35,27 @@ func generateMessageIDForActionsWorkflowRunStatusEmail(repo *repo_model.Reposito
3535}
3636
3737func  sendActionsWorkflowRunStatusEmail (ctx  context.Context , repo  * repo_model.Repository , run  * actions_model.ActionRun , sender  * user_model.User , recipients  []* user_model.User ) {
38- 	messageID  :=  generateMessageIDForActionsWorkflowRunStatusEmail (repo , run )
39- 	headers  :=  generateMetadataHeaders (repo )
40- 
4138	subject  :=  "Run" 
4239	switch  run .Status  {
4340	case  actions_model .StatusFailure :
4441		subject  +=  " failed" 
4542	case  actions_model .StatusCancelled :
4643		subject  +=  " cancelled" 
4744	case  actions_model .StatusSuccess :
48- 		subject  +=  " is successful " 
45+ 		subject  +=  " succeeded " 
4946	}
5047	subject  =  fmt .Sprintf ("%s: %s (%s)" , subject , run .WorkflowID , base .ShortSha (run .CommitSHA ))
48+ 	displayName  :=  fromDisplayName (sender )
49+ 	messageID  :=  generateMessageIDForActionsWorkflowRunStatusEmail (repo , run )
50+ 	metadataHeaders  :=  generateMetadataHeaders (repo )
5151
52- 	jobs0 , err  :=  actions_model .GetRunJobsByRunID (ctx , run .ID )
52+ 	jobs , err  :=  actions_model .GetRunJobsByRunID (ctx , run .ID )
5353	if  err  !=  nil  {
5454		log .Error ("GetRunJobsByRunID: %v" , err )
5555	} else  {
56- 		sort .SliceStable (jobs0 , func (i , j  int ) bool  {
57- 			si  :=  jobs0 [i ].Status 
58- 			sj  :=  jobs0 [j ].Status 
56+ 		sort .SliceStable (jobs , func (i , j  int ) bool  {
57+ 			si  :=  jobs [i ].Status 
58+ 			sj  :=  jobs [j ].Status 
5959			if  si .IsSuccess () {
6060				si  =  99 
6161			}
@@ -65,23 +65,21 @@ func sendActionsWorkflowRunStatusEmail(ctx context.Context, repo *repo_model.Rep
6565			return  si  <  sj 
6666		})
6767	}
68- 	convertedJobs  :=  make ([]convertedWorkflowJob , 0 , len (jobs0 ))
69- 	for  _ , job  :=  range  jobs0  {
70- 		c , err  :=  convert .ToActionWorkflowJob (ctx , repo , nil , job )
68+ 	convertedJobs  :=  make ([]convertedWorkflowJob , 0 , len (jobs ))
69+ 	for  _ , job  :=  range  jobs  {
70+ 		converted0 , err  :=  convert .ToActionWorkflowJob (ctx , repo , nil , job )
7171		if  err  !=  nil  {
7272			log .Error ("convert.ToActionWorkflowJob: %v" , err )
7373			continue 
7474		}
7575		convertedJobs  =  append (convertedJobs , convertedWorkflowJob {
76- 			HTMLURL : c .HTMLURL ,
77- 			Name :    c .Name ,
76+ 			HTMLURL : converted0 .HTMLURL ,
77+ 			Name :    converted0 .Name ,
7878			Status :  job .Status ,
79- 			Attempt : c .RunAttempt ,
79+ 			Attempt : converted0 .RunAttempt ,
8080		})
8181	}
8282
83- 	displayName  :=  fromDisplayName (sender )
84- 
8583	langMap  :=  make (map [string ][]* user_model.User )
8684	for  _ , user  :=  range  recipients  {
8785		langMap [user .Language ] =  append (langMap [user .Language ], user )
@@ -91,11 +89,17 @@ func sendActionsWorkflowRunStatusEmail(ctx context.Context, repo *repo_model.Rep
9189		var  runStatusText  string 
9290		switch  run .Status  {
9391		case  actions_model .StatusSuccess :
94- 			runStatusText  =  locale . TrString ( "actions.status.success" ) 
92+ 			runStatusText  =  "All jobs have succeeded" 
9593		case  actions_model .StatusFailure :
96- 			runStatusText  =  locale .TrString ("actions.status.failure" )
94+ 			runStatusText  =  "All jobs have failed" 
95+ 			for  _ , job  :=  range  jobs  {
96+ 				if  ! job .Status .IsFailure () {
97+ 					runStatusText  =  "Some jobs were not successful" 
98+ 					break 
99+ 				}
100+ 			}
97101		case  actions_model .StatusCancelled :
98- 			runStatusText  =  locale . TrString ( "actions.status. cancelled") 
102+ 			runStatusText  =  "All jobs have been  cancelled"
99103		}
100104		var  mailBody  bytes.Buffer 
101105		if  err  :=  bodyTemplates .ExecuteTemplate (& mailBody , tplWorkflowRun , map [string ]any {
@@ -122,7 +126,7 @@ func sendActionsWorkflowRunStatusEmail(ctx context.Context, repo *repo_model.Rep
122126			for  k , v  :=  range  generateSenderRecipientHeaders (sender , rec ) {
123127				msg .SetHeader (k , v )
124128			}
125- 			for  k , v  :=  range  headers  {
129+ 			for  k , v  :=  range  metadataHeaders  {
126130				msg .SetHeader (k , v )
127131			}
128132			msg .SetHeader ("Message-ID" , messageID )
0 commit comments