Back to godoc.org

Package config

v0.0.0-...-1557bcf
Latest Go to latest

The latest major version is .

Published: Aug 13, 2020 | License: Apache-2.0 | Module: github.com/luci/luci-go

Overview

Package config contains CQ Config API.

Index

Variables

var CommentLevel_name = map[int32]string{
	0: "COMMENT_LEVEL_UNSET",
	1: "COMMENT_LEVEL_FULL",
	2: "COMMENT_LEVEL_RESTRICTED",
}
var CommentLevel_value = map[string]int32{
	"COMMENT_LEVEL_UNSET":      0,
	"COMMENT_LEVEL_FULL":       1,
	"COMMENT_LEVEL_RESTRICTED": 2,
}
var Toggle_name = map[int32]string{
	0: "UNSET",
	1: "YES",
	2: "NO",
}
var Toggle_value = map[string]int32{
	"UNSET": 0,
	"YES":   1,
	"NO":    2,
}
var Verifiers_GerritCQAbility_CQAction_name = map[int32]string{
	0: "UNSET",
	1: "DRY_RUN",
	2: "COMMIT",
}
var Verifiers_GerritCQAbility_CQAction_value = map[string]int32{
	"UNSET":   0,
	"DRY_RUN": 1,
	"COMMIT":  2,
}

type CombineCLs

type CombineCLs struct {
	// Roughly, how long CQ waits for CQ to be triggered on each of the related
	// CLs.
	//
	// Must be greater than 10s.
	// 30s is recommended.
	//
	// Technically precise definition is time to wait since the latest CL among
	// related ones receives CQ+1/2 vote before starting actual attempt.
	//
	// For example, during this delay, a CQ vote may be added on another CL
	// which depends on previously CQ-ed CL in this not-yet-started attempt. Then,
	// CQ would extend the attempt with additional CL and reset the waiting
	// counter.
	//
	// Additional implication is that a standalone CL w/o any other relations to
	// other CLs will need to wait this much time before CQ would start processing
	// it (i.e., before it triggers first tryjob).
	StabilizationDelay   *duration.Duration `protobuf:"bytes,1,opt,name=stabilization_delay,json=stabilizationDelay,proto3" json:"stabilization_delay,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

CombineCLs defines how CQ works with >1 CL per attempt.

Dependencies between CLs are either implicit via Git child->parent relationship (e.g. stacked CLs in Gerrit) or explicit via "CQ-Depend:" footer in CL description (next to Change-Id:). "CQ-Depend" may span across repositories and even Gerrit hosts. For example, a CL on https://pdfium-review.googlesource.com may declare dependency on https://chromium-review.googlesource.com/1111111 by adding this footer:

CQ-Depend: chromium:1111111

The "chromium" part means that 1111111 is on the chromium-review.googlesource.com host. It can be omitted if dependency is on the same host as the CL depending on it.

CQ-Depend alone or with Git dependencies may form cycles, which is useful to require CQ to test & submit all CLs in a cycle at the same time, never alone.

A user must vote on CQ label on **each CL** individually. Since it can't be instantaneous, `stabilization_delay` controls how long CQ waits for all CQ+1/2 votes before computing maximal expanded set of CLs and starting the attempt.

For any CL with CQ+1/2 vote, each of its dependency must have the same CQ vote and be configured for CQ **in the same config group**, else CQ would abort the attempt with appropriate error message.

Each tryjob CQ triggers via Buildbucket will be associated with each CL of the attempt via `gerrit_changes` parameter of Buildbucket. These changes are then available to a build as it is being executed. If ran via recipes, the `ordered_gerrit_changes` property of https://chromium.googlesource.com/infra/luci/recipes-py/+/HEAD/README.recipes.md#class-cqapi_recipeapi can be used to CLs in the right order.

WARNING: When submitting CLs, CQ can not do so atomically (all submitted or none submitted) because Gerrit doesn't support this even for the same repo & target_ref.

func (*CombineCLs) Descriptor

func (*CombineCLs) Descriptor() ([]byte, []int)

func (*CombineCLs) GetStabilizationDelay

func (m *CombineCLs) GetStabilizationDelay() *duration.Duration

func (*CombineCLs) ProtoMessage

func (*CombineCLs) ProtoMessage()

func (*CombineCLs) Reset

func (m *CombineCLs) Reset()

func (*CombineCLs) String

func (m *CombineCLs) String() string

func (*CombineCLs) XXX_DiscardUnknown

func (m *CombineCLs) XXX_DiscardUnknown()

func (*CombineCLs) XXX_Marshal

func (m *CombineCLs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*CombineCLs) XXX_Merge

func (m *CombineCLs) XXX_Merge(src proto.Message)

func (*CombineCLs) XXX_Size

func (m *CombineCLs) XXX_Size() int

func (*CombineCLs) XXX_Unmarshal

func (m *CombineCLs) XXX_Unmarshal(b []byte) error

type CommentLevel

type CommentLevel int32

Determines how visible the results of a build for this builder are in Gerrit comments.

This doesn't affect the buildbucket plugin (green/red chips).

const (
	// Currently default to full visibility.
	CommentLevel_COMMENT_LEVEL_UNSET CommentLevel = 0
	// The CQ reports the summary markdown and a link to the buildbucket build id
	// in Milo with the builder name in the URL in a Gerrit comment.
	CommentLevel_COMMENT_LEVEL_FULL CommentLevel = 1
	// The CQ reports a generic "Build failed: https://ci.chromium.org/b/1234"
	// with no summary markdown.
	CommentLevel_COMMENT_LEVEL_RESTRICTED CommentLevel = 2
)

func (CommentLevel) EnumDescriptor

func (CommentLevel) EnumDescriptor() ([]byte, []int)

func (CommentLevel) String

func (x CommentLevel) String() string

type Config

type Config struct {
	DrainingStartTime string `protobuf:"bytes,1,opt,name=draining_start_time,json=drainingStartTime,proto3" json:"draining_start_time,omitempty"`

	CqStatusHost string `protobuf:"bytes,2,opt,name=cq_status_host,json=cqStatusHost,proto3" json:"cq_status_host,omitempty"`

	SubmitOptions *SubmitOptions `protobuf:"bytes,3,opt,name=submit_options,json=submitOptions,proto3" json:"submit_options,omitempty"`

	ConfigGroups []*ConfigGroup `protobuf:"bytes,4,rep,name=config_groups,json=configGroups,proto3" json:"config_groups,omitempty"`

	ProjectScopedAccount Toggle   "" /* 146 byte string literal not displayed */
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

This message describes a CQ configuration.

The config file commit-queue.cfg should be stored in the config directory of your project, alongside cr-buildbucket.cfg.

func (*Config) Descriptor

func (*Config) Descriptor() ([]byte, []int)

func (*Config) GetConfigGroups

func (m *Config) GetConfigGroups() []*ConfigGroup

func (*Config) GetCqStatusHost

func (m *Config) GetCqStatusHost() string

Deprecated: Do not use.

func (*Config) GetDrainingStartTime

func (m *Config) GetDrainingStartTime() string

func (*Config) GetProjectScopedAccount

func (m *Config) GetProjectScopedAccount() Toggle

Deprecated: Do not use.

func (*Config) GetSubmitOptions

func (m *Config) GetSubmitOptions() *SubmitOptions

func (*Config) ProtoMessage

func (*Config) ProtoMessage()

func (*Config) Reset

func (m *Config) Reset()

func (*Config) String

func (m *Config) String() string

func (*Config) XXX_DiscardUnknown

func (m *Config) XXX_DiscardUnknown()

func (*Config) XXX_Marshal

func (m *Config) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Config) XXX_Merge

func (m *Config) XXX_Merge(src proto.Message)

func (*Config) XXX_Size

func (m *Config) XXX_Size() int

func (*Config) XXX_Unmarshal

func (m *Config) XXX_Unmarshal(b []byte) error

type ConfigGroup

type ConfigGroup struct {
	// The human- and machine-readable name (unique within this project) of this
	// config group. This is used in messages posted to users and in monitoring
	// data. Must match regex "^[a-zA-Z][a-zA-Z0-9_-]*$".
	Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
	// At least 1 Gerrit instance with repositories to work with is required.
	Gerrit []*ConfigGroup_Gerrit `protobuf:"bytes,1,rep,name=gerrit,proto3" json:"gerrit,omitempty"`
	// Optional. If specified, CQ will consider sets of dependent CLs to test and
	// submit at the same time.
	//
	// Typical use-case is testing & submitting changes to multiple repos at the
	// same time, in which case all such repos must be declared up-front in
	// `Gerrit` part of this config_group.
	//
	// Not allowed to be used together with
	// submit_options.allow_submit_with_open_deps=true.
	CombineCls *CombineCLs `protobuf:"bytes,4,opt,name=combine_cls,json=combineCls,proto3" json:"combine_cls,omitempty"`
	// Defines how to verify a CL before submitting it. Required.
	Verifiers *Verifiers `protobuf:"bytes,2,opt,name=verifiers,proto3" json:"verifiers,omitempty"`
	// EXPERIMENTAL! TODO(tandrii, crbug/966115): add better doc or remove.
	//
	// If set, this ConfigGroup will be used if no other ConfigGroup matches.
	//
	// At most 1 config_group can be YES.
	//
	// Example use is to define specific config_group for refs/heads/master,
	// and fallback one for refs/heads/* which will pick up all CLs on
	// non-master branches.
	Fallback             Toggle   `protobuf:"varint,5,opt,name=fallback,proto3,enum=cq.config.Toggle" json:"fallback,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

ConfigGroup allows one to share single verifiers config across a set of Gerrit repositories, which may be in different Gerrit installations.

func (*ConfigGroup) Descriptor

func (*ConfigGroup) Descriptor() ([]byte, []int)

func (*ConfigGroup) GetCombineCls

func (m *ConfigGroup) GetCombineCls() *CombineCLs

func (*ConfigGroup) GetFallback

func (m *ConfigGroup) GetFallback() Toggle

func (*ConfigGroup) GetGerrit

func (m *ConfigGroup) GetGerrit() []*ConfigGroup_Gerrit

func (*ConfigGroup) GetName

func (m *ConfigGroup) GetName() string

func (*ConfigGroup) GetVerifiers

func (m *ConfigGroup) GetVerifiers() *Verifiers

func (*ConfigGroup) ProtoMessage

func (*ConfigGroup) ProtoMessage()

func (*ConfigGroup) Reset

func (m *ConfigGroup) Reset()

func (*ConfigGroup) String

func (m *ConfigGroup) String() string

func (*ConfigGroup) XXX_DiscardUnknown

func (m *ConfigGroup) XXX_DiscardUnknown()

func (*ConfigGroup) XXX_Marshal

func (m *ConfigGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ConfigGroup) XXX_Merge

func (m *ConfigGroup) XXX_Merge(src proto.Message)

func (*ConfigGroup) XXX_Size

func (m *ConfigGroup) XXX_Size() int

func (*ConfigGroup) XXX_Unmarshal

func (m *ConfigGroup) XXX_Unmarshal(b []byte) error

type ConfigGroup_Gerrit

type ConfigGroup_Gerrit struct {
	// Gerrit URL, e.g., https://chromium-review.googlesource.com.
	// No trailing slashes allowed.
	Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
	// Gerrit projects of this Gerrit instance to work with.
	//
	// At least 1 required.
	Projects             []*ConfigGroup_Gerrit_Project `protobuf:"bytes,2,rep,name=projects,proto3" json:"projects,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
	XXX_unrecognized     []byte                        `json:"-"`
	XXX_sizecache        int32                         `json:"-"`
}

Enumerates repositories on a Gerrit instance for which CQ should work.

func (*ConfigGroup_Gerrit) Descriptor

func (*ConfigGroup_Gerrit) Descriptor() ([]byte, []int)

func (*ConfigGroup_Gerrit) GetProjects

func (m *ConfigGroup_Gerrit) GetProjects() []*ConfigGroup_Gerrit_Project

func (*ConfigGroup_Gerrit) GetUrl

func (m *ConfigGroup_Gerrit) GetUrl() string

func (*ConfigGroup_Gerrit) ProtoMessage

func (*ConfigGroup_Gerrit) ProtoMessage()

func (*ConfigGroup_Gerrit) Reset

func (m *ConfigGroup_Gerrit) Reset()

func (*ConfigGroup_Gerrit) String

func (m *ConfigGroup_Gerrit) String() string

func (*ConfigGroup_Gerrit) XXX_DiscardUnknown

func (m *ConfigGroup_Gerrit) XXX_DiscardUnknown()

func (*ConfigGroup_Gerrit) XXX_Marshal

func (m *ConfigGroup_Gerrit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ConfigGroup_Gerrit) XXX_Merge

func (m *ConfigGroup_Gerrit) XXX_Merge(src proto.Message)

func (*ConfigGroup_Gerrit) XXX_Size

func (m *ConfigGroup_Gerrit) XXX_Size() int

func (*ConfigGroup_Gerrit) XXX_Unmarshal

func (m *ConfigGroup_Gerrit) XXX_Unmarshal(b []byte) error

type ConfigGroup_Gerrit_Project

type ConfigGroup_Gerrit_Project struct {
	// Repository name inside Gerrit host. Required.
	//
	// No leading or trailing slashes allowed, no '.git' at the end.
	// 'a/' prefix is also not allowed (it's used on *.googlesource.com for
	// forcing authentication).
	//
	// Examples on https://chromium-review.googlesource.com:
	//   catapult
	//   chromium/src
	//   chromium/tools/depot_tools
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Limit CLs in this repo to only these refs. Required.
	//
	// If not specified, defaults to "refs/heads/master".
	//
	// NOTE: your Gerrit admin must configure Gerrit ACLs such that CQ has
	// read access to these refs, otherwise your users will be waiting for CQ
	// to act on their CLs forever.
	//
	// Regular expression is validated by https://github.com/google/re2 library.
	//
	// NOTE: Git globs aren't supported. Convert them to a regular expression,
	// e.g., Git glob "refs/heads/*" should be "refs/heads/[^/]+".
	// However, users typically expect "refs/heads/.+", since expectation is
	// that every typical Git branch to be CQ-able, including
	// "refs/heads/experimental/foobar".
	RefRegexp            []string `protobuf:"bytes,2,rep,name=ref_regexp,json=refRegexp,proto3" json:"ref_regexp,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*ConfigGroup_Gerrit_Project) Descriptor

func (*ConfigGroup_Gerrit_Project) Descriptor() ([]byte, []int)

func (*ConfigGroup_Gerrit_Project) GetName

func (m *ConfigGroup_Gerrit_Project) GetName() string

func (*ConfigGroup_Gerrit_Project) GetRefRegexp

func (m *ConfigGroup_Gerrit_Project) GetRefRegexp() []string

func (*ConfigGroup_Gerrit_Project) ProtoMessage

func (*ConfigGroup_Gerrit_Project) ProtoMessage()

func (*ConfigGroup_Gerrit_Project) Reset

func (m *ConfigGroup_Gerrit_Project) Reset()

func (*ConfigGroup_Gerrit_Project) String

func (m *ConfigGroup_Gerrit_Project) String() string

func (*ConfigGroup_Gerrit_Project) XXX_DiscardUnknown

func (m *ConfigGroup_Gerrit_Project) XXX_DiscardUnknown()

func (*ConfigGroup_Gerrit_Project) XXX_Marshal

func (m *ConfigGroup_Gerrit_Project) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ConfigGroup_Gerrit_Project) XXX_Merge

func (m *ConfigGroup_Gerrit_Project) XXX_Merge(src proto.Message)

func (*ConfigGroup_Gerrit_Project) XXX_Size

func (m *ConfigGroup_Gerrit_Project) XXX_Size() int

func (*ConfigGroup_Gerrit_Project) XXX_Unmarshal

func (m *ConfigGroup_Gerrit_Project) XXX_Unmarshal(b []byte) error

type SubmitOptions

type SubmitOptions struct {
	// Optional. Maximum number of successful CQ attempts completed by submitting
	// corresponding Gerrit CL(s) before waiting burst_delay.
	//
	// This feature today applies to all attempts processed by this CQ, across all
	// config_groups.
	//
	// Must be >0 to take effect. Requires burst_delay to be set, too.
	MaxBurst int32 `protobuf:"varint,1,opt,name=max_burst,json=maxBurst,proto3" json:"max_burst,omitempty"`
	// Optional. Delay between bursts of submissions of CQ attempts.
	// See max_burst for more info.
	//
	// Must be >0 to take effect. Requires max_burst to be set, too.
	BurstDelay           *duration.Duration `protobuf:"bytes,2,opt,name=burst_delay,json=burstDelay,proto3" json:"burst_delay,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

SubmitOptions control how CQ submits CLs.

func (*SubmitOptions) Descriptor

func (*SubmitOptions) Descriptor() ([]byte, []int)

func (*SubmitOptions) GetBurstDelay

func (m *SubmitOptions) GetBurstDelay() *duration.Duration

func (*SubmitOptions) GetMaxBurst

func (m *SubmitOptions) GetMaxBurst() int32

func (*SubmitOptions) ProtoMessage

func (*SubmitOptions) ProtoMessage()

func (*SubmitOptions) Reset

func (m *SubmitOptions) Reset()

func (*SubmitOptions) String

func (m *SubmitOptions) String() string

func (*SubmitOptions) XXX_DiscardUnknown

func (m *SubmitOptions) XXX_DiscardUnknown()

func (*SubmitOptions) XXX_Marshal

func (m *SubmitOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SubmitOptions) XXX_Merge

func (m *SubmitOptions) XXX_Merge(src proto.Message)

func (*SubmitOptions) XXX_Size

func (m *SubmitOptions) XXX_Size() int

func (*SubmitOptions) XXX_Unmarshal

func (m *SubmitOptions) XXX_Unmarshal(b []byte) error

type Toggle

type Toggle int32

A boolean with an "unset" default value.

const (
	Toggle_UNSET Toggle = 0
	Toggle_YES   Toggle = 1
	Toggle_NO    Toggle = 2
)

func (Toggle) EnumDescriptor

func (Toggle) EnumDescriptor() ([]byte, []int)

func (Toggle) String

func (x Toggle) String() string

type Verifiers

type Verifiers struct {
	// Required. GerritCQAbility ensures that a user who triggered
	// this CQ attempt actually has rights to do so based on 3 factors:
	//  * membership of the user in committers & dryrunners group,
	//  * the state of CL/patchset on which CQ is triggered,
	//  * relationship of the user to the CL.
	GerritCqAbility *Verifiers_GerritCQAbility `protobuf:"bytes,1,opt,name=gerrit_cq_ability,json=gerritCqAbility,proto3" json:"gerrit_cq_ability,omitempty"`
	// This verifier is used to check tree status before committing a CL. If the
	// tree is closed, then the verifier will wait until it is reopened.
	TreeStatus *Verifiers_TreeStatus `protobuf:"bytes,2,opt,name=tree_status,json=treeStatus,proto3" json:"tree_status,omitempty"`
	// This verifier triggers a set of builds through Buildbucket.
	//
	// CQ automatically retries failed tryjobs and only allows CL to land if each
	// builder has succeeded in the latest retry.
	// If a given tryjob result is too old (>1 day) it is ignored.
	//
	// Typically, builds from Buildbucket are executed on LUCI stack, however, CQ
	// is agnostic to how and where builds are executed.
	Tryjob *Verifiers_Tryjob `protobuf:"bytes,3,opt,name=tryjob,proto3" json:"tryjob,omitempty"`
	// CQLinter is for internal CQ use only. DO NOT USE IN YOUR cq.cfg.
	Cqlinter *Verifiers_CQLinter `protobuf:"bytes,4,opt,name=cqlinter,proto3" json:"cqlinter,omitempty"`
	// Fake is for internal CQ use only. DO NOT USE IN YOUR cq.cfg.
	Fake                 *Verifiers_Fake `protobuf:"bytes,5,opt,name=fake,proto3" json:"fake,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

Verifiers are various types of checks that a Commit Queue performs on a CL. All verifiers must pass in order for a CL to be submitted. Configuration file describes types of verifiers that should be applied to each CL and their parameters.

func (*Verifiers) Descriptor

func (*Verifiers) Descriptor() ([]byte, []int)

func (*Verifiers) GetCqlinter

func (m *Verifiers) GetCqlinter() *Verifiers_CQLinter

func (*Verifiers) GetFake

func (m *Verifiers) GetFake() *Verifiers_Fake

func (*Verifiers) GetGerritCqAbility

func (m *Verifiers) GetGerritCqAbility() *Verifiers_GerritCQAbility

func (*Verifiers) GetTreeStatus

func (m *Verifiers) GetTreeStatus() *Verifiers_TreeStatus

func (*Verifiers) GetTryjob

func (m *Verifiers) GetTryjob() *Verifiers_Tryjob

func (*Verifiers) ProtoMessage

func (*Verifiers) ProtoMessage()

func (*Verifiers) Reset

func (m *Verifiers) Reset()

func (*Verifiers) String

func (m *Verifiers) String() string

func (*Verifiers) XXX_DiscardUnknown

func (m *Verifiers) XXX_DiscardUnknown()

func (*Verifiers) XXX_Marshal

func (m *Verifiers) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Verifiers) XXX_Merge

func (m *Verifiers) XXX_Merge(src proto.Message)

func (*Verifiers) XXX_Size

func (m *Verifiers) XXX_Size() int

func (*Verifiers) XXX_Unmarshal

func (m *Verifiers) XXX_Unmarshal(b []byte) error

type Verifiers_CQLinter

type Verifiers_CQLinter struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

CQLinter is for internal use in CQ.

func (*Verifiers_CQLinter) Descriptor

func (*Verifiers_CQLinter) Descriptor() ([]byte, []int)

func (*Verifiers_CQLinter) ProtoMessage

func (*Verifiers_CQLinter) ProtoMessage()

func (*Verifiers_CQLinter) Reset

func (m *Verifiers_CQLinter) Reset()

func (*Verifiers_CQLinter) String

func (m *Verifiers_CQLinter) String() string

func (*Verifiers_CQLinter) XXX_DiscardUnknown

func (m *Verifiers_CQLinter) XXX_DiscardUnknown()

func (*Verifiers_CQLinter) XXX_Marshal

func (m *Verifiers_CQLinter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Verifiers_CQLinter) XXX_Merge

func (m *Verifiers_CQLinter) XXX_Merge(src proto.Message)

func (*Verifiers_CQLinter) XXX_Size

func (m *Verifiers_CQLinter) XXX_Size() int

func (*Verifiers_CQLinter) XXX_Unmarshal

func (m *Verifiers_CQLinter) XXX_Unmarshal(b []byte) error

type Verifiers_Fake

type Verifiers_Fake struct {
	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	EventualState        string   `protobuf:"bytes,2,opt,name=eventual_state,json=eventualState,proto3" json:"eventual_state,omitempty"`
	Delay                int32    `protobuf:"varint,3,opt,name=delay,proto3" json:"delay,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Fake is for internal use in CQ.

func (*Verifiers_Fake) Descriptor

func (*Verifiers_Fake) Descriptor() ([]byte, []int)

func (*Verifiers_Fake) GetDelay

func (m *Verifiers_Fake) GetDelay() int32

func (*Verifiers_Fake) GetEventualState

func (m *Verifiers_Fake) GetEventualState() string

func (*Verifiers_Fake) GetName

func (m *Verifiers_Fake) GetName() string

func (*Verifiers_Fake) ProtoMessage

func (*Verifiers_Fake) ProtoMessage()

func (*Verifiers_Fake) Reset

func (m *Verifiers_Fake) Reset()

func (*Verifiers_Fake) String

func (m *Verifiers_Fake) String() string

func (*Verifiers_Fake) XXX_DiscardUnknown

func (m *Verifiers_Fake) XXX_DiscardUnknown()

func (*Verifiers_Fake) XXX_Marshal

func (m *Verifiers_Fake) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Verifiers_Fake) XXX_Merge

func (m *Verifiers_Fake) XXX_Merge(src proto.Message)

func (*Verifiers_Fake) XXX_Size

func (m *Verifiers_Fake) XXX_Size() int

func (*Verifiers_Fake) XXX_Unmarshal

func (m *Verifiers_Fake) XXX_Unmarshal(b []byte) error

type Verifiers_GerritCQAbility

type Verifiers_GerritCQAbility struct {
	CommitterList []string `protobuf:"bytes,1,rep,name=committer_list,json=committerList,proto3" json:"committer_list,omitempty"`

	DryRunAccessList []string `protobuf:"bytes,2,rep,name=dry_run_access_list,json=dryRunAccessList,proto3" json:"dry_run_access_list,omitempty"`

	AllowSubmitWithOpenDeps bool "" /* 137 byte string literal not displayed */

	AllowOwnerIfSubmittable Verifiers_GerritCQAbility_CQAction "" /* 185 byte string literal not displayed */
	XXX_NoUnkeyedLiteral    struct{}                           `json:"-"`
	XXX_unrecognized        []byte                             `json:"-"`
	XXX_sizecache           int32                              `json:"-"`
}

func (*Verifiers_GerritCQAbility) Descriptor

func (*Verifiers_GerritCQAbility) Descriptor() ([]byte, []int)

func (*Verifiers_GerritCQAbility) GetAllowOwnerIfSubmittable

func (m *Verifiers_GerritCQAbility) GetAllowOwnerIfSubmittable() Verifiers_GerritCQAbility_CQAction

func (*Verifiers_GerritCQAbility) GetAllowSubmitWithOpenDeps

func (m *Verifiers_GerritCQAbility) GetAllowSubmitWithOpenDeps() bool

func (*Verifiers_GerritCQAbility) GetCommitterList

func (m *Verifiers_GerritCQAbility) GetCommitterList() []string

func (*Verifiers_GerritCQAbility) GetDryRunAccessList

func (m *Verifiers_GerritCQAbility) GetDryRunAccessList() []string

func (*Verifiers_GerritCQAbility) ProtoMessage

func (*Verifiers_GerritCQAbility) ProtoMessage()

func (*Verifiers_GerritCQAbility) Reset

func (m *Verifiers_GerritCQAbility) Reset()

func (*Verifiers_GerritCQAbility) String

func (m *Verifiers_GerritCQAbility) String() string

func (*Verifiers_GerritCQAbility) XXX_DiscardUnknown

func (m *Verifiers_GerritCQAbility) XXX_DiscardUnknown()

func (*Verifiers_GerritCQAbility) XXX_Marshal

func (m *Verifiers_GerritCQAbility) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Verifiers_GerritCQAbility) XXX_Merge

func (m *Verifiers_GerritCQAbility) XXX_Merge(src proto.Message)

func (*Verifiers_GerritCQAbility) XXX_Size

func (m *Verifiers_GerritCQAbility) XXX_Size() int

func (*Verifiers_GerritCQAbility) XXX_Unmarshal

func (m *Verifiers_GerritCQAbility) XXX_Unmarshal(b []byte) error

type Verifiers_GerritCQAbility_CQAction

type Verifiers_GerritCQAbility_CQAction int32

See `allow_owner_if_submittable` doc below.

const (
	Verifiers_GerritCQAbility_UNSET   Verifiers_GerritCQAbility_CQAction = 0
	Verifiers_GerritCQAbility_DRY_RUN Verifiers_GerritCQAbility_CQAction = 1
	// COMMIT implies ability to trigger dry run as well.
	Verifiers_GerritCQAbility_COMMIT Verifiers_GerritCQAbility_CQAction = 2
)

func (Verifiers_GerritCQAbility_CQAction) EnumDescriptor

func (Verifiers_GerritCQAbility_CQAction) EnumDescriptor() ([]byte, []int)

func (Verifiers_GerritCQAbility_CQAction) String

func (x Verifiers_GerritCQAbility_CQAction) String() string

type Verifiers_TreeStatus

type Verifiers_TreeStatus struct {
	// Required. URL of the project tree status app.
	Url                  string   `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*Verifiers_TreeStatus) Descriptor

func (*Verifiers_TreeStatus) Descriptor() ([]byte, []int)

func (*Verifiers_TreeStatus) GetUrl

func (m *Verifiers_TreeStatus) GetUrl() string

func (*Verifiers_TreeStatus) ProtoMessage

func (*Verifiers_TreeStatus) ProtoMessage()

func (*Verifiers_TreeStatus) Reset

func (m *Verifiers_TreeStatus) Reset()

func (*Verifiers_TreeStatus) String

func (m *Verifiers_TreeStatus) String() string

func (*Verifiers_TreeStatus) XXX_DiscardUnknown

func (m *Verifiers_TreeStatus) XXX_DiscardUnknown()

func (*Verifiers_TreeStatus) XXX_Marshal

func (m *Verifiers_TreeStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Verifiers_TreeStatus) XXX_Merge

func (m *Verifiers_TreeStatus) XXX_Merge(src proto.Message)

func (*Verifiers_TreeStatus) XXX_Size

func (m *Verifiers_TreeStatus) XXX_Size() int

func (*Verifiers_TreeStatus) XXX_Unmarshal

func (m *Verifiers_TreeStatus) XXX_Unmarshal(b []byte) error

type Verifiers_Tryjob

type Verifiers_Tryjob struct {
	Builders []*Verifiers_Tryjob_Builder `protobuf:"bytes,1,rep,name=builders,proto3" json:"builders,omitempty"`

	RetryConfig *Verifiers_Tryjob_RetryConfig `protobuf:"bytes,2,opt,name=retry_config,json=retryConfig,proto3" json:"retry_config,omitempty"`

	CancelStaleTryjobs   Toggle   "" /* 140 byte string literal not displayed */
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Tryjob configures builders which CQ may trigger and/or use to verify CL(s).

func (*Verifiers_Tryjob) Descriptor

func (*Verifiers_Tryjob) Descriptor() ([]byte, []int)

func (*Verifiers_Tryjob) GetBuilders

func (m *Verifiers_Tryjob) GetBuilders() []*Verifiers_Tryjob_Builder

func (*Verifiers_Tryjob) GetCancelStaleTryjobs

func (m *Verifiers_Tryjob) GetCancelStaleTryjobs() Toggle

Deprecated: Do not use.

func (*Verifiers_Tryjob) GetRetryConfig

func (m *Verifiers_Tryjob) GetRetryConfig() *Verifiers_Tryjob_RetryConfig

func (*Verifiers_Tryjob) ProtoMessage

func (*Verifiers_Tryjob) ProtoMessage()

func (*Verifiers_Tryjob) Reset

func (m *Verifiers_Tryjob) Reset()

func (*Verifiers_Tryjob) String

func (m *Verifiers_Tryjob) String() string

func (*Verifiers_Tryjob) XXX_DiscardUnknown

func (m *Verifiers_Tryjob) XXX_DiscardUnknown()

func (*Verifiers_Tryjob) XXX_Marshal

func (m *Verifiers_Tryjob) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Verifiers_Tryjob) XXX_Merge

func (m *Verifiers_Tryjob) XXX_Merge(src proto.Message)

func (*Verifiers_Tryjob) XXX_Size

func (m *Verifiers_Tryjob) XXX_Size() int

func (*Verifiers_Tryjob) XXX_Unmarshal

func (m *Verifiers_Tryjob) XXX_Unmarshal(b []byte) error

type Verifiers_Tryjob_Builder

type Verifiers_Tryjob_Builder struct {
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`

	IncludableOnly bool `protobuf:"varint,9,opt,name=includable_only,json=includableOnly,proto3" json:"includable_only,omitempty"`

	ResultVisibility CommentLevel "" /* 139 byte string literal not displayed */

	DisableReuse bool `protobuf:"varint,2,opt,name=disable_reuse,json=disableReuse,proto3" json:"disable_reuse,omitempty"`

	CancelStale Toggle `protobuf:"varint,11,opt,name=cancel_stale,json=cancelStale,proto3,enum=cq.config.Toggle" json:"cancel_stale,omitempty"`

	TriggeredBy string `protobuf:"bytes,3,opt,name=triggered_by,json=triggeredBy,proto3" json:"triggered_by,omitempty"`

	ExperimentPercentage float32 `protobuf:"fixed32,4,opt,name=experiment_percentage,json=experimentPercentage,proto3" json:"experiment_percentage,omitempty"`

	EquivalentTo *Verifiers_Tryjob_EquivalentBuilder `protobuf:"bytes,5,opt,name=equivalent_to,json=equivalentTo,proto3" json:"equivalent_to,omitempty"`

	LocationRegexp        []string `protobuf:"bytes,6,rep,name=location_regexp,json=locationRegexp,proto3" json:"location_regexp,omitempty"`
	LocationRegexpExclude []string `protobuf:"bytes,7,rep,name=location_regexp_exclude,json=locationRegexpExclude,proto3" json:"location_regexp_exclude,omitempty"`

	OwnerWhitelistGroup  []string `protobuf:"bytes,8,rep,name=owner_whitelist_group,json=ownerWhitelistGroup,proto3" json:"owner_whitelist_group,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*Verifiers_Tryjob_Builder) Descriptor

func (*Verifiers_Tryjob_Builder) Descriptor() ([]byte, []int)

func (*Verifiers_Tryjob_Builder) GetCancelStale

func (m *Verifiers_Tryjob_Builder) GetCancelStale() Toggle

func (*Verifiers_Tryjob_Builder) GetDisableReuse

func (m *Verifiers_Tryjob_Builder) GetDisableReuse() bool

func (*Verifiers_Tryjob_Builder) GetEquivalentTo

func (m *Verifiers_Tryjob_Builder) GetEquivalentTo() *Verifiers_Tryjob_EquivalentBuilder

func (*Verifiers_Tryjob_Builder) GetExperimentPercentage

func (m *Verifiers_Tryjob_Builder) GetExperimentPercentage() float32

func (*Verifiers_Tryjob_Builder) GetIncludableOnly

func (m *Verifiers_Tryjob_Builder) GetIncludableOnly() bool

func (*Verifiers_Tryjob_Builder) GetLocationRegexp

func (m *Verifiers_Tryjob_Builder) GetLocationRegexp() []string

func (*Verifiers_Tryjob_Builder) GetLocationRegexpExclude

func (m *Verifiers_Tryjob_Builder) GetLocationRegexpExclude() []string

func (*Verifiers_Tryjob_Builder) GetName

func (m *Verifiers_Tryjob_Builder) GetName() string

func (*Verifiers_Tryjob_Builder) GetOwnerWhitelistGroup

func (m *Verifiers_Tryjob_Builder) GetOwnerWhitelistGroup() []string

func (*Verifiers_Tryjob_Builder) GetResultVisibility

func (m *Verifiers_Tryjob_Builder) GetResultVisibility() CommentLevel

func (*Verifiers_Tryjob_Builder) GetTriggeredBy

func (m *Verifiers_Tryjob_Builder) GetTriggeredBy() string

func (*Verifiers_Tryjob_Builder) ProtoMessage

func (*Verifiers_Tryjob_Builder) ProtoMessage()

func (*Verifiers_Tryjob_Builder) Reset

func (m *Verifiers_Tryjob_Builder) Reset()

func (*Verifiers_Tryjob_Builder) String

func (m *Verifiers_Tryjob_Builder) String() string

func (*Verifiers_Tryjob_Builder) XXX_DiscardUnknown

func (m *Verifiers_Tryjob_Builder) XXX_DiscardUnknown()

func (*Verifiers_Tryjob_Builder) XXX_Marshal

func (m *Verifiers_Tryjob_Builder) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Verifiers_Tryjob_Builder) XXX_Merge

func (m *Verifiers_Tryjob_Builder) XXX_Merge(src proto.Message)

func (*Verifiers_Tryjob_Builder) XXX_Size

func (m *Verifiers_Tryjob_Builder) XXX_Size() int

func (*Verifiers_Tryjob_Builder) XXX_Unmarshal

func (m *Verifiers_Tryjob_Builder) XXX_Unmarshal(b []byte) error

type Verifiers_Tryjob_EquivalentBuilder

type Verifiers_Tryjob_EquivalentBuilder struct {
	// Required. Name of this builder.
	// Format is the same in the same format as Builder.name.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Percentage expressing probability of CQ triggering this builder instead
	// of the builder to which this builder is equivalent to.
	//
	// A choice itself is made deterministically based on CL alone, hereby
	// all CQ attempts on all patchsets of a given CL will trigger the same
	// builder, assuming CQ config doesn't change in the mean time.
	//
	// Note that if `owner_whitelist_group` is also specified, the choice over
	// which of the two builders to trigger will be made only for CLs owned by
	// whitelisted group.
	//
	// If not specified, defaults to 0, meaning this builder is never
	// triggered by CQ, but an existing build can be re-used by CQ.
	//
	// To illustrate, suppose percentage=10. Then,
	//   Without owner_whitelist_group,
	//      ~10% of all CQ attempts will trigger this builder.
	//   With owner_whitelist_group set and, suppose, 1/5 of CQ attempts are
	//      ran on CLs owned by this group, then only ~(1/10)*(1/5) or
	//      ~2% of all CQ attempts will trigger this builder.
	Percentage float32 `protobuf:"fixed32,2,opt,name=percentage,proto3" json:"percentage,omitempty"`
	// If specified, limits the builder to CL owners in this group.
	OwnerWhitelistGroup  string   `protobuf:"bytes,3,opt,name=owner_whitelist_group,json=ownerWhitelistGroup,proto3" json:"owner_whitelist_group,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*Verifiers_Tryjob_EquivalentBuilder) Descriptor

func (*Verifiers_Tryjob_EquivalentBuilder) Descriptor() ([]byte, []int)

func (*Verifiers_Tryjob_EquivalentBuilder) GetName

func (m *Verifiers_Tryjob_EquivalentBuilder) GetName() string

func (*Verifiers_Tryjob_EquivalentBuilder) GetOwnerWhitelistGroup

func (m *Verifiers_Tryjob_EquivalentBuilder) GetOwnerWhitelistGroup() string

func (*Verifiers_Tryjob_EquivalentBuilder) GetPercentage

func (m *Verifiers_Tryjob_EquivalentBuilder) GetPercentage() float32

func (*Verifiers_Tryjob_EquivalentBuilder) ProtoMessage

func (*Verifiers_Tryjob_EquivalentBuilder) ProtoMessage()

func (*Verifiers_Tryjob_EquivalentBuilder) Reset

func (m *Verifiers_Tryjob_EquivalentBuilder) Reset()

func (*Verifiers_Tryjob_EquivalentBuilder) String

func (m *Verifiers_Tryjob_EquivalentBuilder) String() string

func (*Verifiers_Tryjob_EquivalentBuilder) XXX_DiscardUnknown

func (m *Verifiers_Tryjob_EquivalentBuilder) XXX_DiscardUnknown()

func (*Verifiers_Tryjob_EquivalentBuilder) XXX_Marshal

func (m *Verifiers_Tryjob_EquivalentBuilder) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Verifiers_Tryjob_EquivalentBuilder) XXX_Merge

func (m *Verifiers_Tryjob_EquivalentBuilder) XXX_Merge(src proto.Message)

func (*Verifiers_Tryjob_EquivalentBuilder) XXX_Size

func (m *Verifiers_Tryjob_EquivalentBuilder) XXX_Size() int

func (*Verifiers_Tryjob_EquivalentBuilder) XXX_Unmarshal

func (m *Verifiers_Tryjob_EquivalentBuilder) XXX_Unmarshal(b []byte) error

type Verifiers_Tryjob_IncludableBuilder

type Verifiers_Tryjob_IncludableBuilder struct {
	// Required. Name of this builder.
	// Format is the same in the same format as Builder.name.
	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Builder which can be included via `CQ-Include-Trybots:` in CL description.

func (*Verifiers_Tryjob_IncludableBuilder) Descriptor

func (*Verifiers_Tryjob_IncludableBuilder) Descriptor() ([]byte, []int)

func (*Verifiers_Tryjob_IncludableBuilder) GetName

func (m *Verifiers_Tryjob_IncludableBuilder) GetName() string

func (*Verifiers_Tryjob_IncludableBuilder) ProtoMessage

func (*Verifiers_Tryjob_IncludableBuilder) ProtoMessage()

func (*Verifiers_Tryjob_IncludableBuilder) Reset

func (m *Verifiers_Tryjob_IncludableBuilder) Reset()

func (*Verifiers_Tryjob_IncludableBuilder) String

func (m *Verifiers_Tryjob_IncludableBuilder) String() string

func (*Verifiers_Tryjob_IncludableBuilder) XXX_DiscardUnknown

func (m *Verifiers_Tryjob_IncludableBuilder) XXX_DiscardUnknown()

func (*Verifiers_Tryjob_IncludableBuilder) XXX_Marshal

func (m *Verifiers_Tryjob_IncludableBuilder) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Verifiers_Tryjob_IncludableBuilder) XXX_Merge

func (m *Verifiers_Tryjob_IncludableBuilder) XXX_Merge(src proto.Message)

func (*Verifiers_Tryjob_IncludableBuilder) XXX_Size

func (m *Verifiers_Tryjob_IncludableBuilder) XXX_Size() int

func (*Verifiers_Tryjob_IncludableBuilder) XXX_Unmarshal

func (m *Verifiers_Tryjob_IncludableBuilder) XXX_Unmarshal(b []byte) error

type Verifiers_Tryjob_RetryConfig

type Verifiers_Tryjob_RetryConfig struct {
	SingleQuota int32 `protobuf:"varint,1,opt,name=single_quota,json=singleQuota,proto3" json:"single_quota,omitempty"`

	GlobalQuota int32 `protobuf:"varint,2,opt,name=global_quota,json=globalQuota,proto3" json:"global_quota,omitempty"`

	FailureWeight int32 `protobuf:"varint,3,opt,name=failure_weight,json=failureWeight,proto3" json:"failure_weight,omitempty"`

	TransientFailureWeight int32 "" /* 130 byte string literal not displayed */

	TimeoutWeight        int32    `protobuf:"varint,5,opt,name=timeout_weight,json=timeoutWeight,proto3" json:"timeout_weight,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Collection of parameters for deciding whether to retry a single build. If parameter is not specified, its value defaults to 0 (per proto3). Thus, omitting all parameters means no retries of any kind.

func (*Verifiers_Tryjob_RetryConfig) Descriptor

func (*Verifiers_Tryjob_RetryConfig) Descriptor() ([]byte, []int)

func (*Verifiers_Tryjob_RetryConfig) GetFailureWeight

func (m *Verifiers_Tryjob_RetryConfig) GetFailureWeight() int32

func (*Verifiers_Tryjob_RetryConfig) GetGlobalQuota

func (m *Verifiers_Tryjob_RetryConfig) GetGlobalQuota() int32

func (*Verifiers_Tryjob_RetryConfig) GetSingleQuota

func (m *Verifiers_Tryjob_RetryConfig) GetSingleQuota() int32

func (*Verifiers_Tryjob_RetryConfig) GetTimeoutWeight

func (m *Verifiers_Tryjob_RetryConfig) GetTimeoutWeight() int32

func (*Verifiers_Tryjob_RetryConfig) GetTransientFailureWeight

func (m *Verifiers_Tryjob_RetryConfig) GetTransientFailureWeight() int32

func (*Verifiers_Tryjob_RetryConfig) ProtoMessage

func (*Verifiers_Tryjob_RetryConfig) ProtoMessage()

func (*Verifiers_Tryjob_RetryConfig) Reset

func (m *Verifiers_Tryjob_RetryConfig) Reset()

func (*Verifiers_Tryjob_RetryConfig) String

func (m *Verifiers_Tryjob_RetryConfig) String() string

func (*Verifiers_Tryjob_RetryConfig) XXX_DiscardUnknown

func (m *Verifiers_Tryjob_RetryConfig) XXX_DiscardUnknown()

func (*Verifiers_Tryjob_RetryConfig) XXX_Marshal

func (m *Verifiers_Tryjob_RetryConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Verifiers_Tryjob_RetryConfig) XXX_Merge

func (m *Verifiers_Tryjob_RetryConfig) XXX_Merge(src proto.Message)

func (*Verifiers_Tryjob_RetryConfig) XXX_Size

func (m *Verifiers_Tryjob_RetryConfig) XXX_Size() int

func (*Verifiers_Tryjob_RetryConfig) XXX_Unmarshal

func (m *Verifiers_Tryjob_RetryConfig) XXX_Unmarshal(b []byte) error

Package Files

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier