forked from gitea/gitea
		
	Use actions job link as commit status URL instead of run link (#24023)
A commit status is bound to a job, not a run. --------- Co-authored-by: silverwind <me@silverwind.io>
This commit is contained in:
		
							parent
							
								
									4e33481357
								
							
						
					
					
						commit
						8cbc4a367d
					
				| @ -108,6 +108,11 @@ func createCommitStatus(ctx context.Context, job *actions_model.ActionRunJob) er | ||||
| 		description = "Blocked by required conditions" | ||||
| 	} | ||||
| 
 | ||||
| 	index, err := getIndexOfJob(ctx, job) | ||||
| 	if err != nil { | ||||
| 		return fmt.Errorf("getIndexOfJob: %w", err) | ||||
| 	} | ||||
| 
 | ||||
| 	creator := user_model.NewActionsUser() | ||||
| 	if err := git_model.NewCommitStatus(ctx, git_model.NewCommitStatusOptions{ | ||||
| 		Repo:    repo, | ||||
| @ -115,7 +120,7 @@ func createCommitStatus(ctx context.Context, job *actions_model.ActionRunJob) er | ||||
| 		Creator: creator, | ||||
| 		CommitStatus: &git_model.CommitStatus{ | ||||
| 			SHA:         sha, | ||||
| 			TargetURL:   run.Link(), | ||||
| 			TargetURL:   fmt.Sprintf("%s/jobs/%d", run.Link(), index), | ||||
| 			Description: description, | ||||
| 			Context:     ctxname, | ||||
| 			CreatorID:   creator.ID, | ||||
| @ -142,3 +147,17 @@ func toCommitStatus(status actions_model.Status) api.CommitStatusState { | ||||
| 		return api.CommitStatusError | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func getIndexOfJob(ctx context.Context, job *actions_model.ActionRunJob) (int, error) { | ||||
| 	// TODO: store job index as a field in ActionRunJob to avoid this | ||||
| 	jobs, err := actions_model.GetRunJobsByRunID(ctx, job.RunID) | ||||
| 	if err != nil { | ||||
| 		return 0, err | ||||
| 	} | ||||
| 	for i, v := range jobs { | ||||
| 		if v.ID == job.ID { | ||||
| 			return i, nil | ||||
| 		} | ||||
| 	} | ||||
| 	return 0, nil | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 GitHub
							GitHub