luci: Index | Files

package buildbucket

import ""


Package Files

buckets.go build.go build_legacy.go builder.go client.go common.go feedback_links.go html_data.go pools.go pubsub.go


var (
    ErrNotFound    = errors.Reason("Build not found").Tag(grpcutil.NotFoundTag).Err()
    ErrNotLoggedIn = errors.Reason("not logged in").Tag(grpcutil.UnauthenticatedTag).Err()
var TestCases = []string{"linux-rel", "MacTests", "scheduled"}

TestCases are the list of known mock data. We put this here instead of _test.go to allow for debug data in dev instances.

func BuildAddress Uses

func BuildAddress(build *buildbucketpb.Build) string

BuildAddress constructs the build address of a buildbucketpb.Build. This is used as the key for the BuildSummary entity.

func CIService Uses

func CIService(c context.Context) (*ui.CIService, error)

CIService returns a *ui.CIService containing all known buckets and builders.

func GetBuildLegacy Uses

func GetBuildLegacy(c context.Context, address string, fetchFull bool) (*ui.MiloBuildLegacy, error)

GetBuildLegacy is a shortcut for GetRawBuild and ToMiloBuild.

func GetBuildPage Uses

func GetBuildPage(ctx *router.Context, br buildbucketpb.GetBuildRequest, forceBlamelist bool) (*ui.BuildPage, error)

GetBuildPage fetches the full set of information for a Milo build page from Buildbucket. Including the blamelist and other auxiliary information.

func GetBuildSummary Uses

func GetBuildSummary(c context.Context, id int64) (*model.BuildSummary, error)

GetBuildSummary fetches a build summary where the Context URI matches the given address.

func GetBuilder Uses

func GetBuilder(c context.Context, bid BuilderID, limit int, cursor string) (*ui.Builder, error)

GetBuilder is used by buildsource.BuilderID.Get to obtain the resp.Builder.

func GetBuilderID Uses

func GetBuilderID(c context.Context, id int64) (builder *buildbucketpb.BuilderID, number int32, err error)

GetBuilderID returns the builder, and maybe the build number, for a build id.

func GetBuilders Uses

func GetBuilders(c context.Context) (*swarmbucket.LegacySwarmbucketApiGetBuildersResponseMessage, error)

GetBuilders returns all Swarmbucket builders, cached for current identity.

func GetRawBuild Uses

func GetRawBuild(c context.Context, address string) (*bbv1.LegacyApiCommonBuildMessage, error)

GetRawBuild fetches a buildbucket build given its address.

func GetSwarmingTaskID Uses

func GetSwarmingTaskID(c context.Context, buildAddress string) (host, taskID string, err error)

GetSwarmingTaskID returns the swarming task ID of a buildbucket build. TODO(hinoka): BuildInfo and Skia requires this. Remove this when buildbucket v2 is out and Skia is on Kitchen. TODO(nodir): delete this. It is used only in deprecated BuildInfo API.

func GetTestBuild Uses

func GetTestBuild(c context.Context, relDir, name string) (*buildbucketpb.Build, error)

GetTestBuild returns a debug build from testdata.

func MakeBuildBugLink(bt *config.BugTemplate, data interface{}) (string, error)

MakeBuildBugLink attempts to create the feedback link for the build page. If the project is not configured for a custom build bug link or an interpolation placeholder cannot be satisfied an empty string is returned.

func MakeBuildKey Uses

func MakeBuildKey(c context.Context, host, buildAddress string) *datastore.Key

MakeBuildKey returns a new datastore Key for a buildbucket.Build.

There's currently no model associated with this key, but it's used as a parent for a model.BuildSummary.

func ProdClientFactory Uses

func ProdClientFactory(c context.Context, host string, as auth.RPCAuthorityKind, opts ...auth.RPCOption) (buildbucketpb.BuildsClient, error)

func PubSubHandler Uses

func PubSubHandler(ctx *router.Context)

PubSubHandler is a webhook that stores the builds coming in from pubsub.

func ToMiloBuild Uses

func ToMiloBuild(c context.Context, b *bbv1.LegacyApiCommonBuildMessage, fetchFull bool) (*ui.MiloBuildLegacy, error)

ToMiloBuild converts a raw buildbucket build to a milo build.

Returns an error only on failure to reach buildbucket. Other errors are surfaced in the returned build.

TODO(hinoka): Some of this can be done concurrently. Investigate if this call takes >500ms on average. TODO( stop loading steps from logdog.

func UpdatePools Uses

func UpdatePools(c context.Context) error

UpdatePools is a cron job endpoint that: 1. Fetches all the builders from our associated Swarmbucket instance. 2. Consolidates all known descriptors (host+dimensions), saves BuilderPool. 3. Fetches and saves BotPool data from swarming for all known descriptors.

func WithClientFactory Uses

func WithClientFactory(c context.Context, factory clientFactory) context.Context

WithClientFactory installs a buildbucket rpc client in the context.

type BuilderID Uses

type BuilderID struct {
    // BuilderID is the buildbucket v2 representation of the builder ID.  Note
    // that the v2 representation uses short bucket names.

BuilderID represents a buildbucket builder. We wrap the underlying representation since we represent builder IDs slightly differently in Milo vs. Buildbucket. I.E. Builders can source from either BuildBot or Buildbucket.

func NewBuilderID Uses

func NewBuilderID(v1Bucket, builder string) (bid BuilderID)

NewBuilderID does what it says.

func (BuilderID) String Uses

func (b BuilderID) String() string

String returns the canonical format of BuilderID.

func (BuilderID) V1Bucket Uses

func (b BuilderID) V1Bucket() string

V1Bucket returns the buildbucket v1 representation of the bucket name, which is what we use in Milo.

Package buildbucket imports 56 packages (graph) and is imported by 8 packages. Updated 2019-06-12. Refresh now. Tools for package owners.