mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	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:
		| @@ -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 | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user