|
|
|
@ -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 |
|
|
|
|
} |
|
|
|
|