Documentation

Overview

    Package protoutil provides utility functions for protobuf messages in ../proto package.

    Index

    Constants

    View Source
    const BuildMediaType = "application/luci+proto; message=buildbucket.v2.Build"

      BuildMediaType is a media type for a binary-encoded Build message.

      View Source
      const StepNameSep = "|"

        StepNameSep is the separator between each node in step names.

        Variables

        This section is empty.

        Functions

        func BuildSets

        func BuildSets(b *pb.Build) []string

          BuildSets returns all of the buildsets of the build.

          func FormatBucketID

          func FormatBucketID(project, bucket string) string

            FormatBucketID returns "{project}/{bucket}" string.

            func FormatBuilderID

            func FormatBuilderID(id *pb.BuilderID) string

              FormatBuilderID returns "{project}/{bucket}/{builder}" string.

              func GerritBuildSet

              func GerritBuildSet(c *pb.GerritChange) string

                GerritBuildSet returns a buildset representation of c, e.g. "patch/gerrit/chromium-review.googlesource.com/677784/5"

                func GerritChangeURL

                func GerritChangeURL(c *pb.GerritChange) string

                  GerritChangeURL returns URL of the change.

                  func GitilesBuildSet

                  func GitilesBuildSet(c *pb.GitilesCommit) string

                    GitilesBuildSet returns a buildset representation of c. e.g. "commit/gitiles/chromium.googlesource.com/infra/luci/luci-go/+/b7a757f457487cd5cfe2dae83f65c5bc10e288b7"

                    func GitilesCommitURL

                    func GitilesCommitURL(c *pb.GitilesCommit) string

                      GitilesCommitURL returns the URL for the gitiles commit. e.g. "https://chromium.googlesource.com/chromium/src/+/b7a757f457487cd5cfe2dae83f65c5bc10e288b7" or "https://chromium.googlesource.com/chromium/src/+/refs/heads/master" if id is not available.

                      func GitilesRepoURL

                      func GitilesRepoURL(c *pb.GitilesCommit) string

                        GitilesRepoURL returns the URL for the gitiles repo. e.g. "https://chromium.googlesource.com/chromium/src"

                        func IsEnded

                        func IsEnded(s pb.Status) bool

                          IsEnded returns true if s is final.

                          func ParentStepName

                          func ParentStepName(stepName string) string

                            ParentStepName returns the name of the parent step.

                            If stepName is empty or doesn't have a parent, an empty string is returned.

                            func ParseBucketID

                            func ParseBucketID(s string) (string, string, error)

                              ParseBucketID parses a "{project}/{bucket}" string. Opposite of FormatBucketID.

                              func ParseBuildSet

                              func ParseBuildSet(buildSet string) proto.Message

                                ParseBuildSet tries to parse buildset as one of the known formats. May return *pb.GerritChange, *pb.GitilesCommit or nil.

                                func ParseBuilderID

                                func ParseBuilderID(s string) (*pb.BuilderID, error)

                                  ParseBuilderID parses a "{project}/{bucket}/{builder}" string. Opposite of FormatBuilderID.

                                  func ParseGetBuildRequest

                                  func ParseGetBuildRequest(s string) (*pb.GetBuildRequest, error)

                                    ParseGetBuildRequest parses a GetBuild request. Supports two forms: - <build-id> - <project>/<bucket>/<builder>/<build-number>

                                    func RunDuration

                                    func RunDuration(b *pb.Build) (duration time.Duration, ok bool)

                                      RunDuration returns duration between build start and end.

                                      func SchedulingDuration

                                      func SchedulingDuration(b *pb.Build) (duration time.Duration, ok bool)

                                        SchedulingDuration returns duration between build creation and start.

                                        func Search(ctx context.Context, buildC chan<- *pb.Build, client pb.BuildsClient, requests ...*pb.SearchBuildsRequest) error

                                          Search searches for builds continuously, sending findings to buildC until the search is exhausted or context is canceled. The builds are ordered newest-to-oldest and deduplicated.

                                          If len(requests) > 1, the builds represent a union of the search requests.

                                          Search does not return a next page token because ctx can be canceled in the middle of a page and because Search supports multiple requests.

                                          func SortStringPairs

                                          func SortStringPairs(pairs []*pb.StringPair)

                                            SortStringPairs sorts string pairs.

                                            func StringPairMap

                                            func StringPairMap(pairs []*pb.StringPair) strpair.Map

                                              StringPairMap converts a slice of StringPair messages to a strpair.Map.

                                              func StringPairs

                                              func StringPairs(m strpair.Map) []*pb.StringPair

                                                StringPairs converts a strpair.Map to a slice of StringPair messages.

                                                func Tags

                                                func Tags(b *pb.Build) strpair.Map

                                                  Tags parses b.Tags as a strpair.Map.

                                                  func ValidateBuilderID

                                                  func ValidateBuilderID(b *pb.BuilderID) error

                                                    ValidateBuilderID validates the given builder ID. Bucket and Builder are optional and only validated if specified.

                                                    func ValidateRequiredBuilderID

                                                    func ValidateRequiredBuilderID(b *pb.BuilderID) error

                                                      ValidateRequiredBuilderID validates the given builder ID, requiring Bucket and Builder.

                                                      func ValidateStepName

                                                      func ValidateStepName(stepName string) error

                                                        ValidateStepName validates a given step name.

                                                        Types

                                                        This section is empty.