mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-04 13:28:25 +00:00 
			
		
		
		
	* Fix wrong hint when status checking is running on pull request view * fix lint * fix test * fix test * fix wrong tmpl * fix import * rename function name
This commit is contained in:
		@@ -19,52 +19,19 @@ import (
 | 
			
		||||
	"xorm.io/xorm"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// CommitStatusState holds the state of a Status
 | 
			
		||||
// It can be "pending", "success", "error", "failure", and "warning"
 | 
			
		||||
type CommitStatusState string
 | 
			
		||||
 | 
			
		||||
// IsWorseThan returns true if this State is worse than the given State
 | 
			
		||||
func (css CommitStatusState) IsWorseThan(css2 CommitStatusState) bool {
 | 
			
		||||
	switch css {
 | 
			
		||||
	case CommitStatusError:
 | 
			
		||||
		return true
 | 
			
		||||
	case CommitStatusFailure:
 | 
			
		||||
		return css2 != CommitStatusError
 | 
			
		||||
	case CommitStatusWarning:
 | 
			
		||||
		return css2 != CommitStatusError && css2 != CommitStatusFailure
 | 
			
		||||
	case CommitStatusSuccess:
 | 
			
		||||
		return css2 != CommitStatusError && css2 != CommitStatusFailure && css2 != CommitStatusWarning
 | 
			
		||||
	default:
 | 
			
		||||
		return css2 != CommitStatusError && css2 != CommitStatusFailure && css2 != CommitStatusWarning && css2 != CommitStatusSuccess
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	// CommitStatusPending is for when the Status is Pending
 | 
			
		||||
	CommitStatusPending CommitStatusState = "pending"
 | 
			
		||||
	// CommitStatusSuccess is for when the Status is Success
 | 
			
		||||
	CommitStatusSuccess CommitStatusState = "success"
 | 
			
		||||
	// CommitStatusError is for when the Status is Error
 | 
			
		||||
	CommitStatusError CommitStatusState = "error"
 | 
			
		||||
	// CommitStatusFailure is for when the Status is Failure
 | 
			
		||||
	CommitStatusFailure CommitStatusState = "failure"
 | 
			
		||||
	// CommitStatusWarning is for when the Status is Warning
 | 
			
		||||
	CommitStatusWarning CommitStatusState = "warning"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// CommitStatus holds a single Status of a single Commit
 | 
			
		||||
type CommitStatus struct {
 | 
			
		||||
	ID          int64             `xorm:"pk autoincr"`
 | 
			
		||||
	Index       int64             `xorm:"INDEX UNIQUE(repo_sha_index)"`
 | 
			
		||||
	RepoID      int64             `xorm:"INDEX UNIQUE(repo_sha_index)"`
 | 
			
		||||
	Repo        *Repository       `xorm:"-"`
 | 
			
		||||
	State       CommitStatusState `xorm:"VARCHAR(7) NOT NULL"`
 | 
			
		||||
	SHA         string            `xorm:"VARCHAR(64) NOT NULL INDEX UNIQUE(repo_sha_index)"`
 | 
			
		||||
	TargetURL   string            `xorm:"TEXT"`
 | 
			
		||||
	Description string            `xorm:"TEXT"`
 | 
			
		||||
	ContextHash string            `xorm:"char(40) index"`
 | 
			
		||||
	Context     string            `xorm:"TEXT"`
 | 
			
		||||
	Creator     *User             `xorm:"-"`
 | 
			
		||||
	ID          int64                 `xorm:"pk autoincr"`
 | 
			
		||||
	Index       int64                 `xorm:"INDEX UNIQUE(repo_sha_index)"`
 | 
			
		||||
	RepoID      int64                 `xorm:"INDEX UNIQUE(repo_sha_index)"`
 | 
			
		||||
	Repo        *Repository           `xorm:"-"`
 | 
			
		||||
	State       api.CommitStatusState `xorm:"VARCHAR(7) NOT NULL"`
 | 
			
		||||
	SHA         string                `xorm:"VARCHAR(64) NOT NULL INDEX UNIQUE(repo_sha_index)"`
 | 
			
		||||
	TargetURL   string                `xorm:"TEXT"`
 | 
			
		||||
	Description string                `xorm:"TEXT"`
 | 
			
		||||
	ContextHash string                `xorm:"char(40) index"`
 | 
			
		||||
	Context     string                `xorm:"TEXT"`
 | 
			
		||||
	Creator     *User                 `xorm:"-"`
 | 
			
		||||
	CreatorID   int64
 | 
			
		||||
 | 
			
		||||
	CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"`
 | 
			
		||||
@@ -118,9 +85,9 @@ func (status *CommitStatus) APIFormat() *api.Status {
 | 
			
		||||
// CalcCommitStatus returns commit status state via some status, the commit statues should order by id desc
 | 
			
		||||
func CalcCommitStatus(statuses []*CommitStatus) *CommitStatus {
 | 
			
		||||
	var lastStatus *CommitStatus
 | 
			
		||||
	var state CommitStatusState
 | 
			
		||||
	var state api.CommitStatusState
 | 
			
		||||
	for _, status := range statuses {
 | 
			
		||||
		if status.State.IsWorseThan(state) {
 | 
			
		||||
		if status.State.NoBetterThan(state) {
 | 
			
		||||
			state = status.State
 | 
			
		||||
			lastStatus = status
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user