luci: go.chromium.org/luci/buildbucket/proto/config Index | Files

package configpb

import "go.chromium.org/luci/buildbucket/proto/config"

Index

Package Files

gen.go project_config.pb.go service_config.pb.go

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,
}

type Acl Uses

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 Uses

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

func (*Acl) GetGroup Uses

func (m *Acl) GetGroup() string

func (*Acl) GetIdentity Uses

func (m *Acl) GetIdentity() string

func (*Acl) GetRole Uses

func (m *Acl) GetRole() Acl_Role

func (*Acl) ProtoMessage Uses

func (*Acl) ProtoMessage()

func (*Acl) Reset Uses

func (m *Acl) Reset()

func (*Acl) String Uses

func (m *Acl) String() string

func (*Acl) XXX_DiscardUnknown Uses

func (m *Acl) XXX_DiscardUnknown()

func (*Acl) XXX_Marshal Uses

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

func (*Acl) XXX_Merge Uses

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

func (*Acl) XXX_Size Uses

func (m *Acl) XXX_Size() int

func (*Acl) XXX_Unmarshal Uses

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

type AclSet Uses

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 Uses

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

func (*AclSet) GetAcls Uses

func (m *AclSet) GetAcls() []*Acl

func (*AclSet) GetName Uses

func (m *AclSet) GetName() string

func (*AclSet) ProtoMessage Uses

func (*AclSet) ProtoMessage()

func (*AclSet) Reset Uses

func (m *AclSet) Reset()

func (*AclSet) String Uses

func (m *AclSet) String() string

func (*AclSet) XXX_DiscardUnknown Uses

func (m *AclSet) XXX_DiscardUnknown()

func (*AclSet) XXX_Marshal Uses

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

func (*AclSet) XXX_Merge Uses

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

func (*AclSet) XXX_Size Uses

func (m *AclSet) XXX_Size() int

func (*AclSet) XXX_Unmarshal Uses

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

type Acl_Role Uses

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.

const (
    // Can do read-only operations, such as search for builds.
    Acl_READER Acl_Role = 0
    // Same as READER + can schedule and cancel builds.
    Acl_SCHEDULER Acl_Role = 1
    // Can do all write operations.
    Acl_WRITER Acl_Role = 2
)

func (Acl_Role) EnumDescriptor Uses

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

func (Acl_Role) String Uses

func (x Acl_Role) String() string

type Bucket Uses

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 Uses

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

func (*Bucket) GetAclSets Uses

func (m *Bucket) GetAclSets() []string

func (*Bucket) GetAcls Uses

func (m *Bucket) GetAcls() []*Acl

func (*Bucket) GetName Uses

func (m *Bucket) GetName() string

func (*Bucket) GetSwarming Uses

func (m *Bucket) GetSwarming() *Swarming

func (*Bucket) ProtoMessage Uses

func (*Bucket) ProtoMessage()

func (*Bucket) Reset Uses

func (m *Bucket) Reset()

func (*Bucket) String Uses

func (m *Bucket) String() string

func (*Bucket) XXX_DiscardUnknown Uses

func (m *Bucket) XXX_DiscardUnknown()

func (*Bucket) XXX_Marshal Uses

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

func (*Bucket) XXX_Merge Uses

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

func (*Bucket) XXX_Size Uses

func (m *Bucket) XXX_Size() int

func (*Bucket) XXX_Unmarshal Uses

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

type BuildbucketCfg Uses

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 Uses

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

func (*BuildbucketCfg) GetAclSets Uses

func (m *BuildbucketCfg) GetAclSets() []*AclSet

func (*BuildbucketCfg) GetBuckets Uses

func (m *BuildbucketCfg) GetBuckets() []*Bucket

func (*BuildbucketCfg) GetBuilderMixins Uses

func (m *BuildbucketCfg) GetBuilderMixins() []*Builder

func (*BuildbucketCfg) ProtoMessage Uses

func (*BuildbucketCfg) ProtoMessage()

func (*BuildbucketCfg) Reset Uses

func (m *BuildbucketCfg) Reset()

func (*BuildbucketCfg) String Uses

func (m *BuildbucketCfg) String() string

func (*BuildbucketCfg) XXX_DiscardUnknown Uses

func (m *BuildbucketCfg) XXX_DiscardUnknown()

func (*BuildbucketCfg) XXX_Marshal Uses

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

func (*BuildbucketCfg) XXX_Merge Uses

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

func (*BuildbucketCfg) XXX_Size Uses

func (m *BuildbucketCfg) XXX_Size() int

func (*BuildbucketCfg) XXX_Unmarshal Uses

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

type Builder Uses

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 `protobuf:"varint,17,opt,name=auto_builder_dimension,json=autoBuilderDimension,proto3,enum=buildbucket.Toggle" json:"auto_builder_dimension,omitempty"`
    // 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 Uses

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

func (*Builder) GetAutoBuilderDimension Uses

func (m *Builder) GetAutoBuilderDimension() Toggle

func (*Builder) GetBuildNumbers Uses

func (m *Builder) GetBuildNumbers() Toggle

func (*Builder) GetCaches Uses

func (m *Builder) GetCaches() []*Builder_CacheEntry

func (*Builder) GetCategory Uses

func (m *Builder) GetCategory() string

func (*Builder) GetDimensions Uses

func (m *Builder) GetDimensions() []string

func (*Builder) GetExecutionTimeoutSecs Uses

func (m *Builder) GetExecutionTimeoutSecs() uint32

func (*Builder) GetExperimental Uses

func (m *Builder) GetExperimental() Toggle

func (*Builder) GetExpirationSecs Uses

func (m *Builder) GetExpirationSecs() uint32

func (*Builder) GetLuciMigrationHost Uses

func (m *Builder) GetLuciMigrationHost() string

func (*Builder) GetMixins Uses

func (m *Builder) GetMixins() []string

func (*Builder) GetName Uses

func (m *Builder) GetName() string

func (*Builder) GetPriority Uses

func (m *Builder) GetPriority() uint32

func (*Builder) GetRecipe Uses

func (m *Builder) GetRecipe() *Builder_Recipe

func (*Builder) GetServiceAccount Uses

func (m *Builder) GetServiceAccount() string

func (*Builder) GetSwarmingTags Uses

func (m *Builder) GetSwarmingTags() []string

func (*Builder) ProtoMessage Uses

func (*Builder) ProtoMessage()

func (*Builder) Reset Uses

func (m *Builder) Reset()

func (*Builder) String Uses

func (m *Builder) String() string

func (*Builder) XXX_DiscardUnknown Uses

func (m *Builder) XXX_DiscardUnknown()

func (*Builder) XXX_Marshal Uses

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

func (*Builder) XXX_Merge Uses

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

func (*Builder) XXX_Size Uses

func (m *Builder) XXX_Size() int

func (*Builder) XXX_Unmarshal Uses

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

type Builder_CacheEntry Uses

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    `protobuf:"varint,3,opt,name=wait_for_warm_cache_secs,json=waitForWarmCacheSecs,proto3" json:"wait_for_warm_cache_secs,omitempty"`
    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 Uses

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

func (*Builder_CacheEntry) GetName Uses

func (m *Builder_CacheEntry) GetName() string

func (*Builder_CacheEntry) GetPath Uses

func (m *Builder_CacheEntry) GetPath() string

func (*Builder_CacheEntry) GetWaitForWarmCacheSecs Uses

func (m *Builder_CacheEntry) GetWaitForWarmCacheSecs() int32

func (*Builder_CacheEntry) ProtoMessage Uses

func (*Builder_CacheEntry) ProtoMessage()

func (*Builder_CacheEntry) Reset Uses

func (m *Builder_CacheEntry) Reset()

func (*Builder_CacheEntry) String Uses

func (m *Builder_CacheEntry) String() string

func (*Builder_CacheEntry) XXX_DiscardUnknown Uses

func (m *Builder_CacheEntry) XXX_DiscardUnknown()

func (*Builder_CacheEntry) XXX_Marshal Uses

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

func (*Builder_CacheEntry) XXX_Merge Uses

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

func (*Builder_CacheEntry) XXX_Size Uses

func (m *Builder_CacheEntry) XXX_Size() int

func (*Builder_CacheEntry) XXX_Unmarshal Uses

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

type Builder_Recipe Uses

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 Uses

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

func (*Builder_Recipe) GetCipdPackage Uses

func (m *Builder_Recipe) GetCipdPackage() string

func (*Builder_Recipe) GetCipdVersion Uses

func (m *Builder_Recipe) GetCipdVersion() string

func (*Builder_Recipe) GetName Uses

func (m *Builder_Recipe) GetName() string

func (*Builder_Recipe) GetProperties Uses

func (m *Builder_Recipe) GetProperties() []string

func (*Builder_Recipe) GetPropertiesJ Uses

func (m *Builder_Recipe) GetPropertiesJ() []string

func (*Builder_Recipe) GetRepository Uses

func (m *Builder_Recipe) GetRepository() string

func (*Builder_Recipe) ProtoMessage Uses

func (*Builder_Recipe) ProtoMessage()

func (*Builder_Recipe) Reset Uses

func (m *Builder_Recipe) Reset()

func (*Builder_Recipe) String Uses

func (m *Builder_Recipe) String() string

func (*Builder_Recipe) XXX_DiscardUnknown Uses

func (m *Builder_Recipe) XXX_DiscardUnknown()

func (*Builder_Recipe) XXX_Marshal Uses

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

func (*Builder_Recipe) XXX_Merge Uses

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

func (*Builder_Recipe) XXX_Size Uses

func (m *Builder_Recipe) XXX_Size() int

func (*Builder_Recipe) XXX_Unmarshal Uses

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

type SettingsCfg Uses

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 Uses

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

func (*SettingsCfg) GetSwarming Uses

func (m *SettingsCfg) GetSwarming() *SwarmingSettings

func (*SettingsCfg) ProtoMessage Uses

func (*SettingsCfg) ProtoMessage()

func (*SettingsCfg) Reset Uses

func (m *SettingsCfg) Reset()

func (*SettingsCfg) String Uses

func (m *SettingsCfg) String() string

func (*SettingsCfg) XXX_DiscardUnknown Uses

func (m *SettingsCfg) XXX_DiscardUnknown()

func (*SettingsCfg) XXX_Marshal Uses

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

func (*SettingsCfg) XXX_Merge Uses

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

func (*SettingsCfg) XXX_Size Uses

func (m *SettingsCfg) XXX_Size() int

func (*SettingsCfg) XXX_Unmarshal Uses

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

type Swarming Uses

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 `protobuf:"bytes,5,opt,name=task_template_canary_percentage,json=taskTemplateCanaryPercentage,proto3" json:"task_template_canary_percentage,omitempty"`
    XXX_NoUnkeyedLiteral         struct{}              `json:"-"`
    XXX_unrecognized             []byte                `json:"-"`
    XXX_sizecache                int32                 `json:"-"`
}

Configuration of buildbucket-swarming integration for one bucket.

func (*Swarming) Descriptor Uses

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

func (*Swarming) GetBuilderDefaults Uses

func (m *Swarming) GetBuilderDefaults() *Builder

func (*Swarming) GetBuilders Uses

func (m *Swarming) GetBuilders() []*Builder

func (*Swarming) GetHostname Uses

func (m *Swarming) GetHostname() string

func (*Swarming) GetTaskTemplateCanaryPercentage Uses

func (m *Swarming) GetTaskTemplateCanaryPercentage() *wrappers.UInt32Value

func (*Swarming) GetUrlFormat Uses

func (m *Swarming) GetUrlFormat() string

func (*Swarming) ProtoMessage Uses

func (*Swarming) ProtoMessage()

func (*Swarming) Reset Uses

func (m *Swarming) Reset()

func (*Swarming) String Uses

func (m *Swarming) String() string

func (*Swarming) XXX_DiscardUnknown Uses

func (m *Swarming) XXX_DiscardUnknown()

func (*Swarming) XXX_Marshal Uses

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

func (*Swarming) XXX_Merge Uses

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

func (*Swarming) XXX_Size Uses

func (m *Swarming) XXX_Size() int

func (*Swarming) XXX_Unmarshal Uses

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

type SwarmingSettings Uses

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    `protobuf:"varint,3,opt,name=default_task_template_canary_percentage,json=defaultTaskTemplateCanaryPercentage,proto3" json:"default_task_template_canary_percentage,omitempty"`
    XXX_NoUnkeyedLiteral                struct{} `json:"-"`
    XXX_unrecognized                    []byte   `json:"-"`
    XXX_sizecache                       int32    `json:"-"`
}

Swarmbucket settings.

func (*SwarmingSettings) Descriptor Uses

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

func (*SwarmingSettings) GetDefaultTaskTemplateCanaryPercentage Uses

func (m *SwarmingSettings) GetDefaultTaskTemplateCanaryPercentage() int32

func (*SwarmingSettings) GetMiloHostname Uses

func (m *SwarmingSettings) GetMiloHostname() string

func (*SwarmingSettings) ProtoMessage Uses

func (*SwarmingSettings) ProtoMessage()

func (*SwarmingSettings) Reset Uses

func (m *SwarmingSettings) Reset()

func (*SwarmingSettings) String Uses

func (m *SwarmingSettings) String() string

func (*SwarmingSettings) XXX_DiscardUnknown Uses

func (m *SwarmingSettings) XXX_DiscardUnknown()

func (*SwarmingSettings) XXX_Marshal Uses

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

func (*SwarmingSettings) XXX_Merge Uses

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

func (*SwarmingSettings) XXX_Size Uses

func (m *SwarmingSettings) XXX_Size() int

func (*SwarmingSettings) XXX_Unmarshal Uses

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

type Toggle Uses

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.

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

func (Toggle) EnumDescriptor Uses

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

func (Toggle) String Uses

func (x Toggle) String() string

Package configpb imports 4 packages (graph) and is imported by 1 packages. Updated 2018-10-21. Refresh now. Tools for package owners.