Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Badge ¶
type Badge interface { // Name returns the label text that should appear on the left of a badge. Name() string // Status returns the badge status that should appear on the right of a badge. Status() string // Color returns a Color constant that indicates badge color. Color() Color }
Badge is an interface for any type that represents a badge.
type Cache ¶
type Cache interface { // Set writes a result to both warm and cold caches. Set(key, value string) error // Get reads a result from the warm cache. An empty string return value // indicates a cache miss. GetWarm(key string) (string, error) // Get reads a result from the cold cache. An empty string return value // indicates a cache miss. GetCold(key string) (string, error) }
Cache is the public interface for any component that can cache results.
type CheckBadge ¶
type CheckBadge struct {
// contains filtered or unexported fields
}
CheckBadge is an implementation of Badge that represents the results of a GitHub check suite, or possibly the combined results of multiple GitHub check suites.
func (CheckBadge) Color ¶
func (c CheckBadge) Color() Color
func (CheckBadge) Name ¶
func (c CheckBadge) Name() string
func (CheckBadge) Status ¶
func (c CheckBadge) Status() string
type CheckBadgeOptions ¶
type CheckBadgeOptions struct { // BadgeName specifies a name that should be applied to the badge. If left // unspecified, it will default to "build". BadgeName string // Branch indicates the branch upon whose check suites the badge should be // based. If left unspecified, it will default to "main". Branch string // GitHubAppID specifies that the badge should be based on the results only of // check suites associated with the indicated GitHub App ID. If left // unspecified (0), the badge will reflect the combined results of multiple // check suites. GitHubAppID int }
type CheckStatus ¶
type CheckStatus uint8
CheckStatus represents the status of a GitHub check suite.
const ( // CheckStatusUnknown represents the case where Badgr has been unable to // determine a check suite's status. CheckStatusUnknown CheckStatus = iota // CheckStatusFailed represents the case where a check suite has run to // completion and failed. CheckStatusFailed // CheckStatusTimedOut represents the case where a check suite has time out. CheckStatusTimedOut // CheckStatusActionRequired represents the case where a check suite has run // to completion but some action is required from a user. CheckStatusActionRequired // CheckStatusCancelled represents the case where execution of a test suite // has been voluntarily terminated by a user or some other process. CheckStatusCanceled // CheckStatusNeutral represents the case where a check suite has run to // completion and neither failed nor succeeded. CheckStatusNeutral // CheckStatusQueued represents the case where none of the checks in the check // suite have been reported yet as being complete or in progress. CheckStatusQueued // CheckStatusInProgress represents the case where one or more checks in the // suite has progressed past the queued state, but not all checks are // complete. CheckStatusInProgress // CheckStatusFailed represents the case where a check suite has run to // completion and succeeded. CheckStatusPassed )
func (CheckStatus) Color ¶
func (c CheckStatus) Color() Color
Color returns a Color constant that corresponds to the CheckStatus value.
func (CheckStatus) String ¶
func (c CheckStatus) String() string
String returns a textual representation of a numeric CheckStatus value.
type ErrBadge ¶
type ErrBadge struct {
// contains filtered or unexported fields
}
ErrBadge is an implementation of a Badge that represents a Badgr failure, as opposed to a failure in whatever backend system (for instance, GitHub) that Badgr has queried.
func NewErrBadge ¶
func NewErrBadge(status interface{}) ErrBadge
NewErrBadge return an implementation of a Badge that represents a Badgr failure, as opposed to a failure in whatever backend system (for instance, GitHub) that Badgr has queried.
type Service ¶
type Service interface { // CheckBadge serves a badge based on check suite status. CheckBadge( ctx context.Context, owner string, repo string, opts *CheckBadgeOptions, ) (CheckBadge, error) }
Service is an interface for components that can handle requests for a badge.
func NewService ¶
func NewService() Service
NewService returns an implementation of the Service interface for handling requests for a badge.