0
0
mirror of https://github.com/go-gitea/gitea.git synced 2025-12-28 10:41:41 +01:00

Rename CommitStatusSummary to CombinedStatus

This commit is contained in:
Lunny Xiao 2025-05-25 00:21:52 -07:00
parent 0915b18157
commit e3554b3945
No known key found for this signature in database
GPG Key ID: C3B7C91B632F738A
21 changed files with 107 additions and 103 deletions

View File

@ -17,21 +17,25 @@ import (
"xorm.io/builder"
)
// CommitStatusSummary holds the latest combined Status of a single Commit
type CommitStatusSummary struct {
ID int64 `xorm:"pk autoincr"`
RepoID int64 `xorm:"INDEX UNIQUE(repo_id_sha)"`
Repo *repo_model.Repository `xorm:"-"`
SHA string `xorm:"VARCHAR(64) NOT NULL INDEX UNIQUE(repo_id_sha)"`
State commitstatus.CombinedStatus `xorm:"VARCHAR(7) NOT NULL"`
TargetURL string `xorm:"TEXT"`
// CombinedStatus holds the latest combined Status of a single Commit
type CombinedStatus struct {
ID int64 `xorm:"pk autoincr"`
RepoID int64 `xorm:"INDEX UNIQUE(repo_id_sha)"`
Repo *repo_model.Repository `xorm:"-"`
SHA string `xorm:"VARCHAR(64) NOT NULL INDEX UNIQUE(repo_id_sha)"`
State commitstatus.CombinedStatusState `xorm:"VARCHAR(7) NOT NULL"`
TargetURL string `xorm:"TEXT"`
}
func (CombinedStatus) TableName() string {
return "commit_status_summary" // legacy name for compatibility
}
func init() {
db.RegisterModel(new(CommitStatusSummary))
db.RegisterModel(new(CombinedStatus))
}
func (status *CommitStatusSummary) loadRepository(ctx context.Context) error {
func (status *CombinedStatus) loadRepository(ctx context.Context) error {
if status.RepoID == 0 || status.Repo != nil {
return nil
}
@ -46,12 +50,12 @@ func (status *CommitStatusSummary) loadRepository(ctx context.Context) error {
}
// LocaleString returns the locale string name of the Status
func (status *CommitStatusSummary) LocaleString(lang translation.Locale) string {
func (status *CombinedStatus) LocaleString(lang translation.Locale) string {
return lang.TrString("repo.commitstatus." + status.State.String())
}
// HideActionsURL set `TargetURL` to an empty string if the status comes from Gitea Actions
func (status *CommitStatusSummary) HideActionsURL(ctx context.Context) {
func (status *CombinedStatus) HideActionsURL(ctx context.Context) {
if status.RepoID == 0 {
return
}
@ -72,13 +76,13 @@ type RepoSHA struct {
SHA string
}
func GetLatestCombinedStatusForRepoAndSHAs(ctx context.Context, repoSHAs []RepoSHA) ([]*CommitStatusSummary, error) {
func GetLatestCombinedStatusForRepoAndSHAs(ctx context.Context, repoSHAs []RepoSHA) ([]*CombinedStatus, error) {
cond := builder.NewCond()
for _, rs := range repoSHAs {
cond = cond.Or(builder.Eq{"repo_id": rs.RepoID, "sha": rs.SHA})
}
var summaries []*CommitStatusSummary
var summaries []*CombinedStatus
if err := db.GetEngine(ctx).Where(cond).Find(&summaries); err != nil {
return nil, err
}
@ -90,7 +94,7 @@ func UpdateCommitStatusSummary(ctx context.Context, repoID int64, sha string) er
if err != nil {
return err
}
summary := CalcCommitStatusSummary(commitStatuses)
summary := CalcCombinedStatus(commitStatuses)
// mysql will return 0 when update a record which state hasn't been changed which behaviour is different from other database,
// so we need to use insert in on duplicate
@ -111,7 +115,7 @@ func UpdateCommitStatusSummary(ctx context.Context, repoID int64, sha string) er
return nil
}
func CommitStatusSummeriesHideActionsURL(ctx context.Context, statuses []*CommitStatusSummary) {
func CombinedStatusesHideActionsURL(ctx context.Context, statuses []*CombinedStatus) {
idToRepos := make(map[int64]*repo_model.Repository)
for _, status := range statuses {
if status == nil {

View File

@ -226,8 +226,8 @@ func (status *CommitStatus) HideActionsURL(ctx context.Context) {
}
}
// CalcCommitStatus returns a combined status, the commit statuses should order by id desc
func CalcCommitStatus(statuses []*CommitStatus) commitstatus.CombinedStatus {
// CalcCombinedStatusState returns a combined status state, the commit statuses should order by id desc
func CalcCombinedStatusState(statuses []*CommitStatus) commitstatus.CombinedStatusState {
states := make(commitstatus.CommitStatusStates, 0, len(statuses))
for _, status := range statuses {
states = append(states, status.State)
@ -235,8 +235,8 @@ func CalcCommitStatus(statuses []*CommitStatus) commitstatus.CombinedStatus {
return states.Merge()
}
// CalcCommitStatusSummary returns commit status summary, the commit statuses should order by id desc
func CalcCommitStatusSummary(statuses []*CommitStatus) *CommitStatusSummary {
// CalcCombinedStatus returns combined status struct, the commit statuses should order by id desc
func CalcCombinedStatus(statuses []*CommitStatus) *CombinedStatus {
if len(statuses) == 0 {
return nil
}
@ -249,7 +249,7 @@ func CalcCommitStatusSummary(statuses []*CommitStatus) *CommitStatusSummary {
targetURL = status.TargetURL
}
}
return &CommitStatusSummary{
return &CombinedStatus{
RepoID: statuses[0].RepoID,
SHA: statuses[0].SHA,
State: states.Merge(),
@ -499,7 +499,7 @@ func NewCommitStatus(ctx context.Context, opts NewCommitStatusOptions) error {
// SignCommitWithStatuses represents a commit with validation of signature and status state.
type SignCommitWithStatuses struct {
Status *CommitStatusSummary
Status *CombinedStatus
Statuses []*CommitStatus
*asymkey_model.SignCommit
}

View File

@ -70,7 +70,7 @@ func TestGetCommitStatuses(t *testing.T) {
func Test_CalcCommitStatus(t *testing.T) {
kases := []struct {
statuses []*git_model.CommitStatus
expected commitstatus.CombinedStatus
expected commitstatus.CombinedStatusState
}{
{
statuses: []*git_model.CommitStatus{
@ -78,7 +78,7 @@ func Test_CalcCommitStatus(t *testing.T) {
State: commitstatus.CommitStatusPending,
},
},
expected: commitstatus.CombinedStatusPending,
expected: commitstatus.CombinedStatusStatePending,
},
{
statuses: []*git_model.CommitStatus{
@ -89,7 +89,7 @@ func Test_CalcCommitStatus(t *testing.T) {
State: commitstatus.CommitStatusPending,
},
},
expected: commitstatus.CombinedStatusPending,
expected: commitstatus.CombinedStatusStatePending,
},
{
statuses: []*git_model.CommitStatus{
@ -103,7 +103,7 @@ func Test_CalcCommitStatus(t *testing.T) {
State: commitstatus.CommitStatusSuccess,
},
},
expected: commitstatus.CombinedStatusPending,
expected: commitstatus.CombinedStatusStatePending,
},
{
statuses: []*git_model.CommitStatus{
@ -117,7 +117,7 @@ func Test_CalcCommitStatus(t *testing.T) {
State: commitstatus.CommitStatusSuccess,
},
},
expected: commitstatus.CombinedStatusFailure,
expected: commitstatus.CombinedStatusStateFailure,
},
{
statuses: []*git_model.CommitStatus{
@ -131,7 +131,7 @@ func Test_CalcCommitStatus(t *testing.T) {
State: commitstatus.CommitStatusSuccess,
},
},
expected: commitstatus.CombinedStatusPending,
expected: commitstatus.CombinedStatusStatePending,
},
{
statuses: []*git_model.CommitStatus{
@ -145,7 +145,7 @@ func Test_CalcCommitStatus(t *testing.T) {
State: commitstatus.CommitStatusSuccess,
},
},
expected: commitstatus.CombinedStatusSuccess,
expected: commitstatus.CombinedStatusStateSuccess,
},
{
statuses: []*git_model.CommitStatus{
@ -159,12 +159,12 @@ func Test_CalcCommitStatus(t *testing.T) {
State: commitstatus.CommitStatusWarning,
},
},
expected: commitstatus.CombinedStatusFailure,
expected: commitstatus.CombinedStatusStateFailure,
},
}
for _, kase := range kases {
assert.Equal(t, kase.expected, git_model.CalcCommitStatus(kase.statuses))
assert.Equal(t, kase.expected, git_model.CalcCombinedStatusState(kase.statuses))
}
}

View File

@ -3,33 +3,33 @@
package commitstatus
// CombinedStatus represents the combined status of a commit.
type CombinedStatus string
// CombinedStatusState represents the combined status of a commit.
type CombinedStatusState string
const (
// CombinedStatusPending is for when the CombinedStatus is Pending
CombinedStatusPending CombinedStatus = "pending"
// CombinedStatusSuccess is for when the CombinedStatus is Success
CombinedStatusSuccess CombinedStatus = "success"
// CombinedStatusFailure is for when the CombinedStatus is Failure
CombinedStatusFailure CombinedStatus = "failure"
// CombinedStatusStatePending is for when the CombinedStatus is Pending
CombinedStatusStatePending CombinedStatusState = "pending"
// CombinedStatusStateSuccess is for when the CombinedStatus is Success
CombinedStatusStateSuccess CombinedStatusState = "success"
// CombinedStatusStateFailure is for when the CombinedStatus is Failure
CombinedStatusStateFailure CombinedStatusState = "failure"
)
func (cs CombinedStatus) String() string {
func (cs CombinedStatusState) String() string {
return string(cs)
}
// IsPending represents if commit status state is pending
func (cs CombinedStatus) IsPending() bool {
return cs == CombinedStatusPending
func (cs CombinedStatusState) IsPending() bool {
return cs == CombinedStatusStatePending
}
// IsSuccess represents if commit status state is success
func (cs CombinedStatus) IsSuccess() bool {
return cs == CombinedStatusSuccess
func (cs CombinedStatusState) IsSuccess() bool {
return cs == CombinedStatusStateSuccess
}
// IsFailure represents if commit status state is failure
func (cs CombinedStatus) IsFailure() bool {
return cs == CombinedStatusFailure
func (cs CombinedStatusState) IsFailure() bool {
return cs == CombinedStatusStateFailure
}

View File

@ -57,19 +57,19 @@ type CommitStatusStates []CommitStatusState //nolint
// > pending if there are no statuses or a context is pending
// > success if the latest status for all contexts is success
func (css CommitStatusStates) Merge() CombinedStatus {
func (css CommitStatusStates) Merge() CombinedStatusState {
successCnt := 0
for _, state := range css {
switch {
case state.IsError() || state.IsFailure():
return CombinedStatusFailure
return CombinedStatusStateFailure
case state.IsPending():
case state.IsSuccess() || state.IsWarning():
successCnt++
}
}
if successCnt > 0 && successCnt == len(css) {
return CombinedStatusSuccess
return CombinedStatusStateSuccess
}
return CombinedStatusPending
return CombinedStatusStatePending
}

View File

@ -26,13 +26,13 @@ type CommitStatus struct {
// CombinedStatus holds the combined state of several statuses for a single commit
type CombinedStatus struct {
State commitstatus.CombinedStatus `json:"state"`
SHA string `json:"sha"`
TotalCount int `json:"total_count"`
Statuses []*CommitStatus `json:"statuses"`
Repository *Repository `json:"repository"`
CommitURL string `json:"commit_url"`
URL string `json:"url"`
State commitstatus.CombinedStatusState `json:"state"`
SHA string `json:"sha"`
TotalCount int `json:"total_count"`
Statuses []*CommitStatus `json:"statuses"`
Repository *Repository `json:"repository"`
CommitURL string `json:"commit_url"`
URL string `json:"url"`
}
// CreateStatusOption holds the information needed to create a new CommitStatus for a Commit

View File

@ -75,9 +75,9 @@ func Branches(ctx *context.Context) {
}
}
commitStatus := make(map[string]*git_model.CommitStatusSummary, len(commitStatuses))
commitStatus := make(map[string]*git_model.CombinedStatus, len(commitStatuses))
for commitID, cs := range commitStatuses {
commitStatus[commitID] = git_model.CalcCommitStatusSummary(cs)
commitStatus[commitID] = git_model.CalcCombinedStatus(cs)
}
ctx.Data["Keyword"] = kw

View File

@ -385,7 +385,7 @@ func Diff(ctx *context.Context) {
git_model.CommitStatusesHideActionsURL(ctx, statuses)
}
ctx.Data["CommitStatus"] = git_model.CalcCommitStatusSummary(statuses)
ctx.Data["CommitStatus"] = git_model.CalcCombinedStatus(statuses)
ctx.Data["CommitStatuses"] = statuses
verification := asymkey_service.ParseCommitWithSignature(ctx, commit)

View File

@ -302,7 +302,7 @@ func prepareMergedViewPullInfo(ctx *context.Context, issue *issues_model.Issue)
if len(commitStatuses) != 0 {
ctx.Data["LatestCommitStatuses"] = commitStatuses
ctx.Data["LatestCommitStatus"] = git_model.CalcCommitStatusSummary(commitStatuses)
ctx.Data["LatestCommitStatus"] = git_model.CalcCombinedStatus(commitStatuses)
}
}
@ -369,7 +369,7 @@ func prepareViewPullInfo(ctx *context.Context, issue *issues_model.Issue) *git.C
if len(commitStatuses) > 0 {
ctx.Data["LatestCommitStatuses"] = commitStatuses
ctx.Data["LatestCommitStatus"] = git_model.CalcCommitStatusSummary(commitStatuses)
ctx.Data["LatestCommitStatus"] = git_model.CalcCombinedStatus(commitStatuses)
}
compareInfo, err := baseGitRepo.GetCompareInfo(pull.BaseRepo.RepoPath(),
@ -465,7 +465,7 @@ func prepareViewPullInfo(ctx *context.Context, issue *issues_model.Issue) *git.C
if len(commitStatuses) > 0 {
ctx.Data["LatestCommitStatuses"] = commitStatuses
ctx.Data["LatestCommitStatus"] = git_model.CalcCommitStatusSummary(commitStatuses)
ctx.Data["LatestCommitStatus"] = git_model.CalcCombinedStatus(commitStatuses)
}
if pb != nil && pb.EnableStatusCheck {

View File

@ -72,7 +72,7 @@ func calReleaseNumCommitsBehind(repoCtx *context.Repository, release *repo_model
type ReleaseInfo struct {
Release *repo_model.Release
CommitStatus commitstatus.CombinedStatus
CommitStatus commitstatus.CombinedStatusState
CommitStatuses []*git_model.CommitStatus
}
@ -136,7 +136,7 @@ func getReleaseInfos(ctx *context.Context, opts *repo_model.FindReleasesOptions)
return nil, err
}
info.CommitStatus = git_model.CalcCommitStatus(statuses)
info.CommitStatus = git_model.CalcCombinedStatusState(statuses)
info.CommitStatuses = statuses
}

View File

@ -553,14 +553,14 @@ func SearchRepo(ctx *context.Context) {
ctx.SetTotalCountHeader(count)
latestCommitStatuses, err := commitstatus_service.FindReposLastestCombinedStatuses(ctx, repos)
latestCombinedStatuses, err := commitstatus_service.FindReposLastestCombinedStatuses(ctx, repos)
if err != nil {
log.Error("FindReposLastestCommitStatuses: %v", err)
ctx.JSON(http.StatusInternalServerError, nil)
return
}
if !ctx.Repo.CanRead(unit.TypeActions) {
git_model.CommitStatusSummeriesHideActionsURL(ctx, latestCommitStatuses)
git_model.CombinedStatusesHideActionsURL(ctx, latestCombinedStatuses)
}
results := make([]*repo_service.WebSearchRepository, len(repos))
@ -580,9 +580,9 @@ func SearchRepo(ctx *context.Context) {
},
}
if latestCommitStatuses[i] != nil {
results[i].LatestCommitStatus = latestCommitStatuses[i]
results[i].LocaleLatestCommitStatus = latestCommitStatuses[i].LocaleString(ctx.Locale)
if latestCombinedStatuses[i] != nil {
results[i].LatestCombinedStatus = latestCombinedStatuses[i]
results[i].LocaleLatestCombinedStatus = latestCombinedStatuses[i].LocaleString(ctx.Locale)
}
}

View File

@ -139,7 +139,7 @@ func loadLatestCommitData(ctx *context.Context, latestCommit *git.Commit) bool {
git_model.CommitStatusesHideActionsURL(ctx, statuses)
}
ctx.Data["LatestCommitStatus"] = git_model.CalcCommitStatusSummary(statuses)
ctx.Data["LatestCommitStatus"] = git_model.CalcCombinedStatus(statuses)
ctx.Data["LatestCommitStatuses"] = statuses
}

View File

@ -38,12 +38,12 @@ func ToCombinedStatus(ctx context.Context, statuses []*git_model.CommitStatus, r
return nil
}
summary := git_model.CalcCommitStatusSummary(statuses)
combinedStatus := git_model.CalcCombinedStatus(statuses)
return &api.CombinedStatus{
State: summary.State,
SHA: summary.SHA,
State: combinedStatus.State,
SHA: combinedStatus.SHA,
TotalCount: len(statuses),
Repository: repo,
URL: summary.TargetURL,
URL: combinedStatus.TargetURL,
}
}

View File

@ -90,7 +90,7 @@ func ParseCommitsWithStatus(ctx context.Context, oldCommits []*asymkey_model.Sig
}
commit.Statuses = statuses
commit.Status = git_model.CalcCommitStatusSummary(statuses)
commit.Status = git_model.CalcCombinedStatus(statuses)
newCommits = append(newCommits, commit)
}
return newCommits, nil

View File

@ -19,7 +19,7 @@ import (
)
// MergeRequiredContextsCommitStatus returns a commit status state for given required contexts
func MergeRequiredContextsCommitStatus(commitStatuses []*git_model.CommitStatus, requiredContexts []string) commitstatus.CombinedStatus {
func MergeRequiredContextsCommitStatus(commitStatuses []*git_model.CommitStatus, requiredContexts []string) commitstatus.CombinedStatusState {
if len(requiredContexts) > 0 {
requiredContextsGlob := make(map[string]glob.Glob, len(requiredContexts))
for _, ctx := range requiredContexts {
@ -40,18 +40,18 @@ func MergeRequiredContextsCommitStatus(commitStatuses []*git_model.CommitStatus,
}
}
if len(requiredCommitStatuses) > 0 {
return git_model.CalcCommitStatus(requiredCommitStatuses)
return git_model.CalcCombinedStatusState(requiredCommitStatuses)
}
}
return git_model.CalcCommitStatus(commitStatuses)
return git_model.CalcCombinedStatusState(commitStatuses)
}
// IsCommitStatusContextSuccess returns true if all required status check contexts succeed.
func IsCommitStatusContextSuccess(commitStatuses []*git_model.CommitStatus, requiredContexts []string) bool {
// If no specific context is required, require that last commit status is a success
if len(requiredContexts) == 0 {
return git_model.CalcCommitStatus(commitStatuses) == commitstatus.CombinedStatusSuccess
return git_model.CalcCombinedStatusState(commitStatuses) == commitstatus.CombinedStatusStateSuccess
}
for _, ctx := range requiredContexts {
@ -91,7 +91,7 @@ func IsPullCommitStatusPass(ctx context.Context, pr *issues_model.PullRequest) (
}
// GetPullRequestCommitStatusState returns pull request merged commit status state
func GetPullRequestCommitStatusState(ctx context.Context, pr *issues_model.PullRequest) (commitstatus.CombinedStatus, error) {
func GetPullRequestCommitStatusState(ctx context.Context, pr *issues_model.PullRequest) (commitstatus.CombinedStatusState, error) {
// Ensure HeadRepo is loaded
if err := pr.LoadHeadRepo(ctx); err != nil {
return "", errors.Wrap(err, "LoadHeadRepo")

View File

@ -49,12 +49,12 @@ func TestMergeRequiredContextsCommitStatus(t *testing.T) {
{"Build*", "Build *", "Build 2t*", "Build 1*"},
}
testCasesExpected := []commitstatus.CombinedStatus{
commitstatus.CombinedStatusSuccess,
commitstatus.CombinedStatusPending,
commitstatus.CombinedStatusFailure,
commitstatus.CombinedStatusPending,
commitstatus.CombinedStatusSuccess,
testCasesExpected := []commitstatus.CombinedStatusState{
commitstatus.CombinedStatusStateSuccess,
commitstatus.CombinedStatusStatePending,
commitstatus.CombinedStatusStateFailure,
commitstatus.CombinedStatusStatePending,
commitstatus.CombinedStatusStateSuccess,
}
for i, commitStatuses := range testCases {

View File

@ -946,13 +946,13 @@ func GetSquashMergeCommitMessages(ctx context.Context, pr *issues_model.PullRequ
}
// GetIssuesLastCommitStatus returns a map of issue ID to the most recent commit's latest status
func GetIssuesLastCommitStatus(ctx context.Context, issues issues_model.IssueList) (map[int64]*git_model.CommitStatusSummary, error) {
func GetIssuesLastCommitStatus(ctx context.Context, issues issues_model.IssueList) (map[int64]*git_model.CombinedStatus, error) {
_, lastStatus, err := GetIssuesAllCommitStatus(ctx, issues)
return lastStatus, err
}
// GetIssuesAllCommitStatus returns a map of issue ID to a list of all statuses for the most recent commit as well as a map of issue ID to only the commit's latest status
func GetIssuesAllCommitStatus(ctx context.Context, issues issues_model.IssueList) (map[int64][]*git_model.CommitStatus, map[int64]*git_model.CommitStatusSummary, error) {
func GetIssuesAllCommitStatus(ctx context.Context, issues issues_model.IssueList) (map[int64][]*git_model.CommitStatus, map[int64]*git_model.CombinedStatus, error) {
if err := issues.LoadPullRequests(ctx); err != nil {
return nil, nil, err
}
@ -963,7 +963,7 @@ func GetIssuesAllCommitStatus(ctx context.Context, issues issues_model.IssueList
var (
gitRepos = make(map[int64]*git.Repository)
res = make(map[int64][]*git_model.CommitStatus)
lastRes = make(map[int64]*git_model.CommitStatusSummary)
lastRes = make(map[int64]*git_model.CombinedStatus)
err error
)
defer func() {
@ -992,7 +992,7 @@ func GetIssuesAllCommitStatus(ctx context.Context, issues issues_model.IssueList
continue
}
res[issue.PullRequest.ID] = statuses
lastRes[issue.PullRequest.ID] = git_model.CalcCommitStatusSummary(statuses)
lastRes[issue.PullRequest.ID] = git_model.CalcCombinedStatus(statuses)
}
return res, lastRes, nil
}

View File

@ -47,7 +47,7 @@ func getCombinedStatusCache(repoID int64, branchName string) *combinedStatusCach
return nil
}
func updateCombinedStatusCache(repoID int64, branchName string, state commitstatus.CombinedStatus, targetURL string) error {
func updateCombinedStatusCache(repoID int64, branchName string, state commitstatus.CombinedStatusState, targetURL string) error {
c := cache.GetCache()
bs, err := json.Marshal(combinedStatusCacheValue{
State: string(state),
@ -121,13 +121,13 @@ func CreateCommitStatus(ctx context.Context, repo *repo_model.Repository, creato
}
// FindReposLastestCombinedStatuses loading repository default branch latest combinded commit status with cache
func FindReposLastestCombinedStatuses(ctx context.Context, repos []*repo_model.Repository) ([]*git_model.CommitStatusSummary, error) {
results := make([]*git_model.CommitStatusSummary, len(repos))
func FindReposLastestCombinedStatuses(ctx context.Context, repos []*repo_model.Repository) ([]*git_model.CombinedStatus, error) {
results := make([]*git_model.CombinedStatus, len(repos))
allCached := true
for i, repo := range repos {
if cv := getCombinedStatusCache(repo.ID, repo.DefaultBranch); cv != nil {
results[i] = &git_model.CommitStatusSummary{
State: commitstatus.CombinedStatus(cv.State),
results[i] = &git_model.CombinedStatus{
State: commitstatus.CombinedStatusState(cv.State),
TargetURL: cv.TargetURL,
}
} else {
@ -189,7 +189,7 @@ func FindReposLastestCombinedStatuses(ctx context.Context, repos []*repo_model.R
for i, repo := range repos {
if results[i] == nil {
results[i] = git_model.CalcCommitStatusSummary(repoToItsLatestCommitStatuses[repo.ID])
results[i] = git_model.CalcCombinedStatus(repoToItsLatestCommitStatuses[repo.ID])
if results[i] != nil {
if err := updateCombinedStatusCache(repo.ID, repo.DefaultBranch, results[i].State, results[i].TargetURL); err != nil {
log.Error("updateCommitStatusCache[%d:%s] failed: %v", repo.ID, repo.DefaultBranch, err)

View File

@ -125,7 +125,7 @@ func (graph *Graph) LoadAndProcessCommits(ctx context.Context, repository *repo_
if err != nil {
log.Error("GetLatestCommitStatus: %v", err)
} else {
c.Status = git_model.CalcCommitStatusSummary(statuses)
c.Status = git_model.CalcCombinedStatus(statuses)
}
}
return nil
@ -249,7 +249,7 @@ type Commit struct {
Commit *git.Commit
User *user_model.User
Verification *asymkey_model.CommitVerification
Status *git_model.CommitStatusSummary
Status *git_model.CombinedStatus
Flow int64
Row int
Column int

View File

@ -34,9 +34,9 @@ import (
// WebSearchRepository represents a repository returned by web search
type WebSearchRepository struct {
Repository *structs.Repository `json:"repository"`
LatestCommitStatus *git.CommitStatusSummary `json:"latest_commit_status"`
LocaleLatestCommitStatus string `json:"locale_latest_commit_status"`
Repository *structs.Repository `json:"repository"`
LatestCombinedStatus *git.CombinedStatus `json:"latest_commit_status"`
LocaleLatestCombinedStatus string `json:"locale_latest_commit_status"`
}
// WebSearchResults results of a successful web search

View File

@ -99,7 +99,7 @@ func TestPullCreate_CommitStatus(t *testing.T) {
}
repo1 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerName: "user1", Name: "repo1"})
css := unittest.AssertExistsAndLoadBean(t, &git_model.CommitStatusSummary{RepoID: repo1.ID, SHA: commitID})
css := unittest.AssertExistsAndLoadBean(t, &git_model.CombinedStatus{RepoID: repo1.ID, SHA: commitID})
assert.Equal(t, commitstatus.CommitStatusWarning, css.State)
})
}