Documentation ¶
Index ¶
- Variables
- type Acl
- func (*Acl) Descriptor() ([]byte, []int)
- func (m *Acl) GetGroup() string
- func (m *Acl) GetIdentity() string
- func (m *Acl) GetRole() Acl_Role
- func (*Acl) ProtoMessage()
- func (m *Acl) Reset()
- func (m *Acl) String() string
- func (m *Acl) XXX_DiscardUnknown()
- func (m *Acl) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Acl) XXX_Merge(src proto.Message)
- func (m *Acl) XXX_Size() int
- func (m *Acl) XXX_Unmarshal(b []byte) error
- type AclSet
- func (*AclSet) Descriptor() ([]byte, []int)
- func (m *AclSet) GetAcls() []*Acl
- func (m *AclSet) GetName() string
- func (*AclSet) ProtoMessage()
- func (m *AclSet) Reset()
- func (m *AclSet) String() string
- func (m *AclSet) XXX_DiscardUnknown()
- func (m *AclSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *AclSet) XXX_Merge(src proto.Message)
- func (m *AclSet) XXX_Size() int
- func (m *AclSet) XXX_Unmarshal(b []byte) error
- type Acl_Role
- type Bucket
- func (*Bucket) Descriptor() ([]byte, []int)
- func (m *Bucket) GetAclSets() []string
- func (m *Bucket) GetAcls() []*Acl
- func (m *Bucket) GetName() string
- func (m *Bucket) GetSwarming() *Swarming
- func (*Bucket) ProtoMessage()
- func (m *Bucket) Reset()
- func (m *Bucket) String() string
- func (m *Bucket) XXX_DiscardUnknown()
- func (m *Bucket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Bucket) XXX_Merge(src proto.Message)
- func (m *Bucket) XXX_Size() int
- func (m *Bucket) XXX_Unmarshal(b []byte) error
- type BuildbucketCfg
- func (*BuildbucketCfg) Descriptor() ([]byte, []int)
- func (m *BuildbucketCfg) GetAclSets() []*AclSet
- func (m *BuildbucketCfg) GetBuckets() []*Bucket
- func (m *BuildbucketCfg) GetBuilderMixins() []*Builder
- func (*BuildbucketCfg) ProtoMessage()
- func (m *BuildbucketCfg) Reset()
- func (m *BuildbucketCfg) String() string
- func (m *BuildbucketCfg) XXX_DiscardUnknown()
- func (m *BuildbucketCfg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *BuildbucketCfg) XXX_Merge(src proto.Message)
- func (m *BuildbucketCfg) XXX_Size() int
- func (m *BuildbucketCfg) XXX_Unmarshal(b []byte) error
- type Builder
- func (*Builder) Descriptor() ([]byte, []int)
- func (m *Builder) GetAutoBuilderDimension() Toggle
- func (m *Builder) GetBuildNumbers() Toggle
- func (m *Builder) GetCaches() []*Builder_CacheEntry
- func (m *Builder) GetCategory() string
- func (m *Builder) GetDimensions() []string
- func (m *Builder) GetExecutionTimeoutSecs() uint32
- func (m *Builder) GetExperimental() Toggle
- func (m *Builder) GetExpirationSecs() uint32
- func (m *Builder) GetLuciMigrationHost() string
- func (m *Builder) GetMixins() []string
- func (m *Builder) GetName() string
- func (m *Builder) GetPriority() uint32
- func (m *Builder) GetRecipe() *Builder_Recipe
- func (m *Builder) GetServiceAccount() string
- func (m *Builder) GetSwarmingTags() []string
- func (*Builder) ProtoMessage()
- func (m *Builder) Reset()
- func (m *Builder) String() string
- func (m *Builder) XXX_DiscardUnknown()
- func (m *Builder) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Builder) XXX_Merge(src proto.Message)
- func (m *Builder) XXX_Size() int
- func (m *Builder) XXX_Unmarshal(b []byte) error
- type Builder_CacheEntry
- func (*Builder_CacheEntry) Descriptor() ([]byte, []int)
- func (m *Builder_CacheEntry) GetName() string
- func (m *Builder_CacheEntry) GetPath() string
- func (m *Builder_CacheEntry) GetWaitForWarmCacheSecs() int32
- func (*Builder_CacheEntry) ProtoMessage()
- func (m *Builder_CacheEntry) Reset()
- func (m *Builder_CacheEntry) String() string
- func (m *Builder_CacheEntry) XXX_DiscardUnknown()
- func (m *Builder_CacheEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Builder_CacheEntry) XXX_Merge(src proto.Message)
- func (m *Builder_CacheEntry) XXX_Size() int
- func (m *Builder_CacheEntry) XXX_Unmarshal(b []byte) error
- type Builder_Recipe
- func (*Builder_Recipe) Descriptor() ([]byte, []int)
- func (m *Builder_Recipe) GetCipdPackage() string
- func (m *Builder_Recipe) GetCipdVersion() string
- func (m *Builder_Recipe) GetName() string
- func (m *Builder_Recipe) GetProperties() []string
- func (m *Builder_Recipe) GetPropertiesJ() []string
- func (m *Builder_Recipe) GetRepository() string
- func (*Builder_Recipe) ProtoMessage()
- func (m *Builder_Recipe) Reset()
- func (m *Builder_Recipe) String() string
- func (m *Builder_Recipe) XXX_DiscardUnknown()
- func (m *Builder_Recipe) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Builder_Recipe) XXX_Merge(src proto.Message)
- func (m *Builder_Recipe) XXX_Size() int
- func (m *Builder_Recipe) XXX_Unmarshal(b []byte) error
- type SettingsCfg
- func (*SettingsCfg) Descriptor() ([]byte, []int)
- func (m *SettingsCfg) GetSwarming() *SwarmingSettings
- func (*SettingsCfg) ProtoMessage()
- func (m *SettingsCfg) Reset()
- func (m *SettingsCfg) String() string
- func (m *SettingsCfg) XXX_DiscardUnknown()
- func (m *SettingsCfg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *SettingsCfg) XXX_Merge(src proto.Message)
- func (m *SettingsCfg) XXX_Size() int
- func (m *SettingsCfg) XXX_Unmarshal(b []byte) error
- type Swarming
- func (*Swarming) Descriptor() ([]byte, []int)
- func (m *Swarming) GetBuilderDefaults() *Builder
- func (m *Swarming) GetBuilders() []*Builder
- func (m *Swarming) GetHostname() string
- func (m *Swarming) GetTaskTemplateCanaryPercentage() *wrappers.UInt32Value
- func (m *Swarming) GetUrlFormat() string
- func (*Swarming) ProtoMessage()
- func (m *Swarming) Reset()
- func (m *Swarming) String() string
- func (m *Swarming) XXX_DiscardUnknown()
- func (m *Swarming) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Swarming) XXX_Merge(src proto.Message)
- func (m *Swarming) XXX_Size() int
- func (m *Swarming) XXX_Unmarshal(b []byte) error
- type SwarmingSettings
- func (*SwarmingSettings) Descriptor() ([]byte, []int)
- func (m *SwarmingSettings) GetDefaultTaskTemplateCanaryPercentage() int32
- func (m *SwarmingSettings) GetMiloHostname() string
- func (*SwarmingSettings) ProtoMessage()
- func (m *SwarmingSettings) Reset()
- func (m *SwarmingSettings) String() string
- func (m *SwarmingSettings) XXX_DiscardUnknown()
- func (m *SwarmingSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *SwarmingSettings) XXX_Merge(src proto.Message)
- func (m *SwarmingSettings) XXX_Size() int
- func (m *SwarmingSettings) XXX_Unmarshal(b []byte) error
- type Toggle
Constants ¶
This section is empty.
Variables ¶
var Acl_Role_name = map[int32]string{
0: "READER",
1: "SCHEDULER",
2: "WRITER",
}
var Acl_Role_value = map[string]int32{
"READER": 0,
"SCHEDULER": 1,
"WRITER": 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,
}
Functions ¶
This section is empty.
Types ¶
type Acl ¶
type Acl struct { // Role denotes a list of actions that an identity can perform. Role Acl_Role `protobuf:"varint,1,opt,name=role,proto3,enum=buildbucket.Acl_Role" json:"role,omitempty"` // Name of the group defined in the auth service. Group string `protobuf:"bytes,2,opt,name=group,proto3" json:"group,omitempty"` // An email address or a full identity string "kind:name". See auth service // on kinds of identities. Anonymous users are "anonymous:anonymous". // Either identity or group must be present, not both. Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
A single access control rule.
func (*Acl) Descriptor ¶
func (*Acl) GetIdentity ¶
func (*Acl) ProtoMessage ¶
func (*Acl) ProtoMessage()
func (*Acl) XXX_DiscardUnknown ¶
func (m *Acl) XXX_DiscardUnknown()
func (*Acl) XXX_Unmarshal ¶
type AclSet ¶
type AclSet struct { // A name of the ACL set. Required. Must match regex '^[a-z0-9_]+$'. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // List of access control rules. // The order does not matter. Acls []*Acl `protobuf:"bytes,2,rep,name=acls,proto3" json:"acls,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
A set of Acl messages. Can be referenced in a bucket by name.
func (*AclSet) Descriptor ¶
func (*AclSet) ProtoMessage ¶
func (*AclSet) ProtoMessage()
func (*AclSet) XXX_DiscardUnknown ¶
func (m *AclSet) XXX_DiscardUnknown()
func (*AclSet) XXX_Marshal ¶
func (*AclSet) XXX_Unmarshal ¶
type Acl_Role ¶
type Acl_Role int32
A buiildbucket user role. Defines what a user can do.
The order of enum member tags is important. A role with a higher tag number can perform any action that a role with a lower tag number can perform.
func (Acl_Role) EnumDescriptor ¶
type Bucket ¶
type Bucket struct { // Name of the bucket. Names are unique within one instance of buildbucket. // If another project already uses this name, a config will be rejected. // Name reservation is first-come first-serve. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // List of access control rules for the bucket. // The order does not matter. Acls []*Acl `protobuf:"bytes,2,rep,name=acls,proto3" json:"acls,omitempty"` // A list of ACL set names. Each ACL in each referenced ACL set will be // included in this bucket. // The order does not matter. AclSets []string `protobuf:"bytes,4,rep,name=acl_sets,json=aclSets,proto3" json:"acl_sets,omitempty"` // Buildbucket-swarming integration. Swarming *Swarming `protobuf:"bytes,3,opt,name=swarming,proto3" json:"swarming,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
Defines one bucket in buildbucket.cfg
func (*Bucket) Descriptor ¶
func (*Bucket) GetAclSets ¶
func (*Bucket) GetSwarming ¶
func (*Bucket) ProtoMessage ¶
func (*Bucket) ProtoMessage()
func (*Bucket) XXX_DiscardUnknown ¶
func (m *Bucket) XXX_DiscardUnknown()
func (*Bucket) XXX_Marshal ¶
func (*Bucket) XXX_Unmarshal ¶
type BuildbucketCfg ¶
type BuildbucketCfg struct { // All buckets defined for this project. Buckets []*Bucket `protobuf:"bytes,1,rep,name=buckets,proto3" json:"buckets,omitempty"` // A list of ACL sets. Names must be unique. AclSets []*AclSet `protobuf:"bytes,2,rep,name=acl_sets,json=aclSets,proto3" json:"acl_sets,omitempty"` // A list of builder mixin definitions. // A mixin can be referenced in any builder defined within the BuildbucketCfg. // See also Buider.mixins field. BuilderMixins []*Builder `protobuf:"bytes,3,rep,name=builder_mixins,json=builderMixins,proto3" json:"builder_mixins,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
Schema of buildbucket.cfg file, a project config.
func (*BuildbucketCfg) Descriptor ¶
func (*BuildbucketCfg) Descriptor() ([]byte, []int)
func (*BuildbucketCfg) GetAclSets ¶
func (m *BuildbucketCfg) GetAclSets() []*AclSet
func (*BuildbucketCfg) GetBuckets ¶
func (m *BuildbucketCfg) GetBuckets() []*Bucket
func (*BuildbucketCfg) GetBuilderMixins ¶
func (m *BuildbucketCfg) GetBuilderMixins() []*Builder
func (*BuildbucketCfg) ProtoMessage ¶
func (*BuildbucketCfg) ProtoMessage()
func (*BuildbucketCfg) Reset ¶
func (m *BuildbucketCfg) Reset()
func (*BuildbucketCfg) String ¶
func (m *BuildbucketCfg) String() string
func (*BuildbucketCfg) XXX_DiscardUnknown ¶
func (m *BuildbucketCfg) XXX_DiscardUnknown()
func (*BuildbucketCfg) XXX_Marshal ¶
func (m *BuildbucketCfg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*BuildbucketCfg) XXX_Merge ¶
func (m *BuildbucketCfg) XXX_Merge(src proto.Message)
func (*BuildbucketCfg) XXX_Size ¶
func (m *BuildbucketCfg) XXX_Size() int
func (*BuildbucketCfg) XXX_Unmarshal ¶
func (m *BuildbucketCfg) XXX_Unmarshal(b []byte) error
type Builder ¶
type Builder struct { // Name of the builder or builder mixin. // // If a builder name, will be propagated to "builder" build tag and // "buildername" recipe property. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Names of mixins to apply to this builder definition. // // FLATTENING // // Final builder/mixin values are computed as follows: // - start with an empty builder definition. // - if this is a builder, apply values in a bucket's builder_defaults, // flattened in advance. // - apply each mixin, flattened in advance, in the same order. // - apply values in this builder/mixin. // // EXAMPLE // // A definition // // builder_mixins { // name: "foo" // dimensions: "os:Linux" // dimensions: "cpu:x86" // recipe { // repository: "https://example.com" // name: "x" // } // } // builder_mixins { // name: "bar" // dimensions: "cores:8" // dimensions: "cpu:x86-64" // } // bucket { // name: "luci.x.try" // swarming { // builders { // name: "release" // mixins: "foo" // mixins: "bar" // recipe { // name: "y" // } // } // } // } // // is equivalent to // // bucket { // name: "luci.x.try" // swarming { // builders { // name: "release" // dimensions: "os:Linux" // dimensions: "cpu:x86-64" // dimensions: "cores:8" // recipe { // repository: "https://example.com" // name: "y" // } // } // } // } // // A NOTE ON DIAMOND MERGES // // Given // B mixes in A and overrides some values defined in A // C mixes in A // D mixes in B and C // B's overrides won't affect D because D mixes in C after B. // // builder_mixins { // name: "A" // dimensions: "dim:a" // } // builder_mixins { // name: "B" // mixins: "A" // dimensions: "dim:b" // } // builder_mixins { // name: "C" // mixins: "A" // } // ... // builders { // name: "D" // mixins: "B" // mixins: "C" // } // // D's dim will be "a", not "b" because it is "a" in C which is applied after // B. // // OTHER // // Circular references are prohibited. Mixins []string `protobuf:"bytes,10,rep,name=mixins,proto3" json:"mixins,omitempty"` // Builder category. Will be used for visual grouping, for example in Code Review. Category string `protobuf:"bytes,6,opt,name=category,proto3" json:"category,omitempty"` // Will be become to swarming task tags. // Each tag will end up in "swarming_tag" buildbucket tag, for example // "swarming_tag:builder:release" SwarmingTags []string `protobuf:"bytes,2,rep,name=swarming_tags,json=swarmingTags,proto3" json:"swarming_tags,omitempty"` // A requirement for a bot to execute the build. // // Supports 3 forms: // - "<key>:" - exclude the defaults for the key. // Mutually exclusive with other forms. // - "<key>:<value>" - require a bot with this dimension. // This is a shortcut for "0:<key>:<value>", see below. // - "<expiration_secs>:<key>:<value>" - wait for up to expiration_secs. // for a bot with the dimension. // Supports mutliple values for different keys and expiration_secs. // expiration_secs must be a multiple of 60. // // When merging a set of dimensions S1 into S2, all dimensions in S1 with a // key K replace all dimensions in S2 with K. This logic is used when applying // builder mixins and dimensions specified in a build request. // // If this builder is defined in a bucket, dimension "pool" is defaulted // to the name of the bucket. See Bucket message below. Dimensions []string `protobuf:"bytes,3,rep,name=dimensions,proto3" json:"dimensions,omitempty"` // Specifies that a recipe to run. Recipe *Builder_Recipe `protobuf:"bytes,4,opt,name=recipe,proto3" json:"recipe,omitempty"` // Swarming task priority. Priority uint32 `protobuf:"varint,5,opt,name=priority,proto3" json:"priority,omitempty"` // Maximum build execution time. Not to be confused with pending time. ExecutionTimeoutSecs uint32 `protobuf:"varint,7,opt,name=execution_timeout_secs,json=executionTimeoutSecs,proto3" json:"execution_timeout_secs,omitempty"` // Maximum build pending time. ExpirationSecs uint32 `protobuf:"varint,20,opt,name=expiration_secs,json=expirationSecs,proto3" json:"expiration_secs,omitempty"` // Caches that should be present on the bot. Caches []*Builder_CacheEntry `protobuf:"bytes,9,rep,name=caches,proto3" json:"caches,omitempty"` // If YES, generate monotonically increasing contiguous numbers for each // build, unique within the builder. // Note: this limits the build creation rate in this builder to 5 per second. BuildNumbers Toggle `protobuf:"varint,16,opt,name=build_numbers,json=buildNumbers,proto3,enum=buildbucket.Toggle" json:"build_numbers,omitempty"` // Email of a service account to run the build as or literal 'bot' string to // use Swarming bot's account (if available). Passed directly to Swarming. // Subject to Swarming's ACLs. ServiceAccount string `protobuf:"bytes,12,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` // If YES, each builder will get extra dimension "builder:<builder name>" // added. Default is UNSET. // // For example, this config // // builder { // name: "linux-compiler" // dimension: "builder:linux-compiler" // } // // is equivalent to this: // // builders { // name: "linux-compiler" // auto_builder_dimension: YES // } // // We've considered providing interpolation like this // builder_defaults { // dimensions: "builder:${BUILDER}" // } // (see also http://docs.buildbot.net/0.8.9/manual/cfg-properties.html#interpolate) // but are currently against complicating config with this. AutoBuilderDimension Toggle `` /* 149-byte string literal not displayed */ // If YES, by default a new build in this builder will be marked as // experimental. // This is useful for inherently experimental builders that use production // recipes. // See also luci_migration_host field. Experimental Toggle `protobuf:"varint,18,opt,name=experimental,proto3,enum=buildbucket.Toggle" json:"experimental,omitempty"` // If not empty and not "-", and a build request is not marked as // experimental/prod explicitly and has "mastername" property, buildbucket // will contact this instance of luci-migration app to determine whether the // builder is experimental. // On success, this takes precedence over Builder.experimental proto field // (above). // // Special value "-" means no luci_migration_host specified. // Useful in a builder that wants to override luci_migration_host // specified in builder_defaults or mixin. LuciMigrationHost string `protobuf:"bytes,19,opt,name=luci_migration_host,json=luciMigrationHost,proto3" json:"luci_migration_host,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
Defines a swarmbucket builder or a builder mixin. A builder has a name, a category and specifies what should happen if a build is scheduled to that builder.
SECURITY WARNING: if adding more fields to this message, keep in mind that a user that has permissions to schedule a build to the bucket, can override this config.
Next tag: 21.
func (*Builder) Descriptor ¶
func (*Builder) GetAutoBuilderDimension ¶
func (*Builder) GetBuildNumbers ¶
func (*Builder) GetCaches ¶
func (m *Builder) GetCaches() []*Builder_CacheEntry
func (*Builder) GetCategory ¶
func (*Builder) GetDimensions ¶
func (*Builder) GetExecutionTimeoutSecs ¶
func (*Builder) GetExperimental ¶
func (*Builder) GetExpirationSecs ¶
func (*Builder) GetLuciMigrationHost ¶
func (*Builder) GetPriority ¶
func (*Builder) GetRecipe ¶
func (m *Builder) GetRecipe() *Builder_Recipe
func (*Builder) GetServiceAccount ¶
func (*Builder) GetSwarmingTags ¶
func (*Builder) ProtoMessage ¶
func (*Builder) ProtoMessage()
func (*Builder) XXX_DiscardUnknown ¶
func (m *Builder) XXX_DiscardUnknown()
func (*Builder) XXX_Marshal ¶
func (*Builder) XXX_Unmarshal ¶
type Builder_CacheEntry ¶
type Builder_CacheEntry struct { // Identifier of the cache. Required. Length is limited to 128. // // If the pool of swarming bots is shared among multiple LUCI projects and // projects use same cache name, the cache will be shared across projects. // To avoid affecting and being affected by other projects, prefix the cache // name with something project-specific, e.g. "v8-". Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Relative path where the cache in mapped into. Required. // Must use POSIX format (forward slashes). // In most cases, it does not need slashes at all. // Must be unique in the given builder. Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` // Number of seconds to wait for a bot with a warm cache to pick up the // task, before falling back to a bot with a cold (non-existent) cache. // // The default is 0, which means that no preference will be chosen for a bot // with this or without this cache, and a bot without this cache may be // chosen instead. // // If no bot has this cache warm, the task will skip this wait and will // immediately fallback to a cold cache request. // // The value must be multiples of 60 seconds. WaitForWarmCacheSecs int32 `` /* 128-byte string literal not displayed */ XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
Describes a cache directory persisted on a bot.
If a build requested a cache, a cache directory is available on build startup. If the cache was present on the bot, the directory contains files from the previous run. The build can read/write to the cache directory while it runs. After build completes, the cache directory is persisted. Next time another build requests the same cache and runs on the same bot, if the cache wasn't evicted, the files will still be there.
One bot can keep multiple caches at the same time and one build can request multiple different caches. A cache is identified by its name and mapped to a path. In recipes-based builds, the path is relative to api.paths['cache'] dir. For example, a cache {"name": "foo", "path": "bar"} maps foo to bar and the cache dir is available at
my_cache = api.path['cache'].join('bar')
If the bot is running out of space, caches are evicted in LRU manner.
Renaming a cache is equivalent to clearing it from the builder perspective. The files will still be there, but eventually will be purged by GC.
Builder cache.
Buildbucket implicitly declares cache
{"name": "<hash(bucket/builder)>", "path": "builder"}.
This means that any LUCI builder has a "personal disk space" on the bot. Builder cache is often a good start before customizing caching. In recipes, it is available at api.path['cache'].join('builder').
In order to share the builder cache among multiple builders, it can be overridden:
builders { name: "a" caches { path: "builder" name: "my_shared_cache" } } builders { name: "b" caches { path: "builder" name: "my_shared_cache" } }
Builders "a" and "b" share their builder cache. If an "a" build ran on a bot and left some files in the builder cache and then a "b" build runs on the same bot, the same files will be available in the builder cache.
func (*Builder_CacheEntry) Descriptor ¶
func (*Builder_CacheEntry) Descriptor() ([]byte, []int)
func (*Builder_CacheEntry) GetName ¶
func (m *Builder_CacheEntry) GetName() string
func (*Builder_CacheEntry) GetPath ¶
func (m *Builder_CacheEntry) GetPath() string
func (*Builder_CacheEntry) GetWaitForWarmCacheSecs ¶
func (m *Builder_CacheEntry) GetWaitForWarmCacheSecs() int32
func (*Builder_CacheEntry) ProtoMessage ¶
func (*Builder_CacheEntry) ProtoMessage()
func (*Builder_CacheEntry) Reset ¶
func (m *Builder_CacheEntry) Reset()
func (*Builder_CacheEntry) String ¶
func (m *Builder_CacheEntry) String() string
func (*Builder_CacheEntry) XXX_DiscardUnknown ¶
func (m *Builder_CacheEntry) XXX_DiscardUnknown()
func (*Builder_CacheEntry) XXX_Marshal ¶
func (m *Builder_CacheEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*Builder_CacheEntry) XXX_Merge ¶
func (m *Builder_CacheEntry) XXX_Merge(src proto.Message)
func (*Builder_CacheEntry) XXX_Size ¶
func (m *Builder_CacheEntry) XXX_Size() int
func (*Builder_CacheEntry) XXX_Unmarshal ¶
func (m *Builder_CacheEntry) XXX_Unmarshal(b []byte) error
type Builder_Recipe ¶
type Builder_Recipe struct { // Repository URL of the recipe package. // Value "-" is treated as unset. Repository string `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` // Name of the recipe to run. Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // If set, will use CIPD to fetch the recipes, rather than using git. This // obsoletes the `repository` parameter. // // Typically the package will look like: // // infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build // // Recipes bundled from internal repositories are typically under // `infra_internal/recipe_bundles/...`. // // But if you're building your own recipe bundles, they could be located // elsewhere. CipdPackage string `protobuf:"bytes,6,opt,name=cipd_package,json=cipdPackage,proto3" json:"cipd_package,omitempty"` // The CIPD version to fetch. This can be a lower-cased git ref (like // `refs/heads/master` or `head`), or it can be a cipd tag (like // `git_revision:dead...beef`). // // The default is `head`, which corresponds to the git repo's HEAD ref. This // is typically (but not always) a symbolic ref for `refs/heads/master`. CipdVersion string `protobuf:"bytes,5,opt,name=cipd_version,json=cipdVersion,proto3" json:"cipd_version,omitempty"` // Colon-separated build properties to set. // A property can be overriden by "properties" build parameter. // // Use this field for string properties and use properties_j for other // types. Properties []string `protobuf:"bytes,3,rep,name=properties,proto3" json:"properties,omitempty"` // Same as properties, but the value must valid JSON. For example // properties_j: "a:1" // means property a is a number 1, not string "1". // // If null, it means no property must be defined. In particular, it removes // a default value for the property, if any. // // Fields properties and properties_j can be used together, but cannot both // specify values for same property. PropertiesJ []string `protobuf:"bytes,4,rep,name=properties_j,json=propertiesJ,proto3" json:"properties_j,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
Specifies a recipe to run.
func (*Builder_Recipe) Descriptor ¶
func (*Builder_Recipe) Descriptor() ([]byte, []int)
func (*Builder_Recipe) GetCipdPackage ¶
func (m *Builder_Recipe) GetCipdPackage() string
func (*Builder_Recipe) GetCipdVersion ¶
func (m *Builder_Recipe) GetCipdVersion() string
func (*Builder_Recipe) GetName ¶
func (m *Builder_Recipe) GetName() string
func (*Builder_Recipe) GetProperties ¶
func (m *Builder_Recipe) GetProperties() []string
func (*Builder_Recipe) GetPropertiesJ ¶
func (m *Builder_Recipe) GetPropertiesJ() []string
func (*Builder_Recipe) GetRepository ¶
func (m *Builder_Recipe) GetRepository() string
func (*Builder_Recipe) ProtoMessage ¶
func (*Builder_Recipe) ProtoMessage()
func (*Builder_Recipe) Reset ¶
func (m *Builder_Recipe) Reset()
func (*Builder_Recipe) String ¶
func (m *Builder_Recipe) String() string
func (*Builder_Recipe) XXX_DiscardUnknown ¶
func (m *Builder_Recipe) XXX_DiscardUnknown()
func (*Builder_Recipe) XXX_Marshal ¶
func (m *Builder_Recipe) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*Builder_Recipe) XXX_Merge ¶
func (m *Builder_Recipe) XXX_Merge(src proto.Message)
func (*Builder_Recipe) XXX_Size ¶
func (m *Builder_Recipe) XXX_Size() int
func (*Builder_Recipe) XXX_Unmarshal ¶
func (m *Builder_Recipe) XXX_Unmarshal(b []byte) error
type SettingsCfg ¶
type SettingsCfg struct { // Swarmbucket settings. Swarming *SwarmingSettings `protobuf:"bytes,1,opt,name=swarming,proto3" json:"swarming,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
Schema of settings.cfg file, a service config.
func (*SettingsCfg) Descriptor ¶
func (*SettingsCfg) Descriptor() ([]byte, []int)
func (*SettingsCfg) GetSwarming ¶
func (m *SettingsCfg) GetSwarming() *SwarmingSettings
func (*SettingsCfg) ProtoMessage ¶
func (*SettingsCfg) ProtoMessage()
func (*SettingsCfg) Reset ¶
func (m *SettingsCfg) Reset()
func (*SettingsCfg) String ¶
func (m *SettingsCfg) String() string
func (*SettingsCfg) XXX_DiscardUnknown ¶
func (m *SettingsCfg) XXX_DiscardUnknown()
func (*SettingsCfg) XXX_Marshal ¶
func (m *SettingsCfg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*SettingsCfg) XXX_Merge ¶
func (m *SettingsCfg) XXX_Merge(src proto.Message)
func (*SettingsCfg) XXX_Size ¶
func (m *SettingsCfg) XXX_Size() int
func (*SettingsCfg) XXX_Unmarshal ¶
func (m *SettingsCfg) XXX_Unmarshal(b []byte) error
type Swarming ¶
type Swarming struct { // Hostname of the swarming instance, e.g. "chromium-swarm.appspot.com". Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"` // DEPRECATED, IGNORED. // Used to generate a URL for Build, may contain parameters // {swarming_hostname}, {task_id}, {bucket} and {builder}. Defaults to: // https://{swarming_hostname}/user/task/{task_id} UrlFormat string `protobuf:"bytes,2,opt,name=url_format,json=urlFormat,proto3" json:"url_format,omitempty"` // Defines default values for builders. BuilderDefaults *Builder `protobuf:"bytes,3,opt,name=builder_defaults,json=builderDefaults,proto3" json:"builder_defaults,omitempty"` // Configuration for each builder. // Swarming tasks are created only for builds for builders that are not // explicitly specified. Builders []*Builder `protobuf:"bytes,4,rep,name=builders,proto3" json:"builders,omitempty"` // Percentage of builds that should use a canary swarming task template. // A value from 0 to 100. // If omitted, default percentage is used. TaskTemplateCanaryPercentage *wrappers.UInt32Value `` /* 149-byte string literal not displayed */ XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
Configuration of buildbucket-swarming integration for one bucket.
func (*Swarming) Descriptor ¶
func (*Swarming) GetBuilderDefaults ¶
func (*Swarming) GetBuilders ¶
func (*Swarming) GetHostname ¶
func (*Swarming) GetTaskTemplateCanaryPercentage ¶
func (m *Swarming) GetTaskTemplateCanaryPercentage() *wrappers.UInt32Value
func (*Swarming) GetUrlFormat ¶
func (*Swarming) ProtoMessage ¶
func (*Swarming) ProtoMessage()
func (*Swarming) XXX_DiscardUnknown ¶
func (m *Swarming) XXX_DiscardUnknown()
func (*Swarming) XXX_Marshal ¶
func (*Swarming) XXX_Unmarshal ¶
type SwarmingSettings ¶
type SwarmingSettings struct { // Swarmbucket build URLs will point to this Milo instance. MiloHostname string `protobuf:"bytes,2,opt,name=milo_hostname,json=miloHostname,proto3" json:"milo_hostname,omitempty"` // Default value of swarming.task_template_canary_percentage field in // cr-buildbucket.cfg files. DefaultTaskTemplateCanaryPercentage int32 `` /* 173-byte string literal not displayed */ XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
Swarmbucket settings.
func (*SwarmingSettings) Descriptor ¶
func (*SwarmingSettings) Descriptor() ([]byte, []int)
func (*SwarmingSettings) GetDefaultTaskTemplateCanaryPercentage ¶
func (m *SwarmingSettings) GetDefaultTaskTemplateCanaryPercentage() int32
func (*SwarmingSettings) GetMiloHostname ¶
func (m *SwarmingSettings) GetMiloHostname() string
func (*SwarmingSettings) ProtoMessage ¶
func (*SwarmingSettings) ProtoMessage()
func (*SwarmingSettings) Reset ¶
func (m *SwarmingSettings) Reset()
func (*SwarmingSettings) String ¶
func (m *SwarmingSettings) String() string
func (*SwarmingSettings) XXX_DiscardUnknown ¶
func (m *SwarmingSettings) XXX_DiscardUnknown()
func (*SwarmingSettings) XXX_Marshal ¶
func (m *SwarmingSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*SwarmingSettings) XXX_Merge ¶
func (m *SwarmingSettings) XXX_Merge(src proto.Message)
func (*SwarmingSettings) XXX_Size ¶
func (m *SwarmingSettings) XXX_Size() int
func (*SwarmingSettings) XXX_Unmarshal ¶
func (m *SwarmingSettings) XXX_Unmarshal(b []byte) error
type Toggle ¶
type Toggle int32
Toggle is a boolean with an extra state UNSET. When protobuf messages are merged, UNSET does not overwrite an existing value. TODO(nodir): replace with Trinary in ../common.proto.