Documentation ¶
Index ¶
- Constants
- func RegisterFeature(feat feature) error
- type Aliases
- type BranchProtection
- type Features
- type GCSInfo
- type RepoInfo
- func (o *RepoInfo) AddFlags(cmd *cobra.Command)
- func (o *RepoInfo) Approvers(path string) sets.String
- func (o *RepoInfo) EachLoop() error
- func (o *RepoInfo) FindOwnersForPath(path string) string
- func (o *RepoInfo) GitCommand(args []string) ([]byte, error)
- func (o *RepoInfo) Initialize(config *github.Config) error
- func (o *RepoInfo) LeafApprovers(path string) sets.String
- func (o *RepoInfo) LeafReviewers(path string) sets.String
- func (o *RepoInfo) Name() string
- func (o *RepoInfo) Reviewers(path string) sets.String
- type TestOptions
Constants ¶
const (
// AliasesFeature is how mungers should indicate this is required.
AliasesFeature = "aliases"
)
const (
// BranchProtectionFeature should update the branches with the required contexts
BranchProtectionFeature = "branch-protection"
)
const (
// GCSFeature is how mungers should indicate this is required.
GCSFeature = "google-cloud-storage"
)
const (
// RepoFeatureName is how mungers should indicate this is required
RepoFeatureName = "gitrepos"
)
const (
// TestOptionsFeature is how mungers should indicate this is required.
TestOptionsFeature = "test-options"
)
Variables ¶
This section is empty.
Functions ¶
func RegisterFeature ¶
func RegisterFeature(feat feature) error
RegisterFeature should be called in `init()` by each feature to make itself available by name
Types ¶
type Aliases ¶
Aliases is a struct that handles parameters required by mungers to expand and lookup aliases.
func (*Aliases) Initialize ¶
Initialize will initialize the feature.
type BranchProtection ¶
type BranchProtection struct {
// contains filtered or unexported fields
}
BranchProtection is a features that sets branches as protected
func (*BranchProtection) AddFlags ¶
func (bp *BranchProtection) AddFlags(cmd *cobra.Command)
AddFlags will add any request flags to the cobra `cmd`
func (*BranchProtection) EachLoop ¶
func (bp *BranchProtection) EachLoop() error
EachLoop is called at the start of every munge loop
func (*BranchProtection) Initialize ¶
func (bp *BranchProtection) Initialize(config *github.Config) error
Initialize will initialize the feature.
func (*BranchProtection) Name ¶
func (bp *BranchProtection) Name() string
Name is just going to return the name mungers use to request this feature
type Features ¶
type Features struct { Aliases *Aliases Repos *RepoInfo GCSInfo *GCSInfo TestOptions *TestOptions // contains filtered or unexported fields }
Features are all features the code know about. Care should be taken not to try to use a feature which isn't 'active'
type GCSInfo ¶
type GCSInfo struct { BucketName string LogDir string // PullLogDir is the directory of the pr builder jenkins PullLogDir string // PullKey is a string to look for in a job name to figure out if it's // a pull (presubmit) job. PullKey string }
GCSInfo is a struct that handles parameters required by GCS to read log files and determine the status of tests.
func (*GCSInfo) Initialize ¶
Initialize will initialize the feature.
type RepoInfo ¶
type RepoInfo struct { BaseDir string EnableMdYaml bool UseReviewers bool // contains filtered or unexported fields }
RepoInfo provides information about users in OWNERS files in a git repo
func (*RepoInfo) Approvers ¶
Approvers returns ALL of the users who are approvers for the requested file (including approvers in parent dirs' OWNERS). If pkg/OWNERS has user1 and pkg/util/OWNERS has user2 this will return both user1 and user2 for the path pkg/util/sets/file.go
func (*RepoInfo) FindOwnersForPath ¶
FindOwnersForPath returns the OWNERS file path further down the tree for a file
func (*RepoInfo) GitCommand ¶
GitCommand will execute the git command with the `args` within the project directory.
func (*RepoInfo) Initialize ¶
Initialize will initialize the munger
func (*RepoInfo) LeafApprovers ¶
LeafApprovers returns a set of users who are the closest approvers to the requested file. If pkg/OWNERS has user1 and pkg/util/OWNERS has user2 this will only return user2 for the path pkg/util/sets/file.go
func (*RepoInfo) LeafReviewers ¶
LeafReviewers returns a set of users who are the closest reviewers to the requested file. If pkg/OWNERS has user1 and pkg/util/OWNERS has user2 this will only return user2 for the path pkg/util/sets/file.go
type TestOptions ¶
type TestOptions struct {
RequiredRetestContexts []string
}
TestOptions is a struct that handles parameters required by mungers to find out about specific tests.
func (*TestOptions) AddFlags ¶
func (t *TestOptions) AddFlags(cmd *cobra.Command)
AddFlags will add any request flags to the cobra `cmd`
func (*TestOptions) EachLoop ¶
func (t *TestOptions) EachLoop() error
EachLoop is called at the start of every munge loop
func (*TestOptions) Initialize ¶
func (t *TestOptions) Initialize(config *github.Config) error
Initialize will initialize the feature.
func (*TestOptions) Name ¶
func (t *TestOptions) Name() string
Name is just going to return the name mungers use to request this feature