Documentation ¶
Overview ¶
Package protoutil provides utility functions for protobuf messages in ../proto package.
Index ¶
- Constants
- func BuildSets(b *pb.Build) []string
- func FormatBuilderID(id *pb.BuilderID) string
- func GerritBuildSet(c *pb.GerritChange) string
- func GerritChangeURL(c *pb.GerritChange) string
- func GitilesBuildSet(c *pb.GitilesCommit) string
- func GitilesCommitURL(c *pb.GitilesCommit) string
- func GitilesRepoURL(c *pb.GitilesCommit) string
- func IsEnded(s pb.Status) bool
- func ParseBuildSet(buildSet string) proto.Message
- func ParseBuilderID(s string) (*pb.BuilderID, error)
- func ParseGetBuildRequest(s string) (*pb.GetBuildRequest, error)
- func RunDuration(b *pb.Build) (duration time.Duration, ok bool)
- func SchedulingDuration(b *pb.Build) (duration time.Duration, ok bool)
- func Search(ctx context.Context, buildC chan<- *pb.Build, client pb.BuildsClient, ...) error
- func SortStringPairs(pairs []*pb.StringPair)
- func StringPairs(m strpair.Map) []*pb.StringPair
- func Tags(b *pb.Build) strpair.Map
Constants ¶
const BuildMediaType = "application/luci+proto; message=buildbucket.v2.Build"
BuildMediaType is a media type for a binary-encoded Build message.
Variables ¶
This section is empty.
Functions ¶
func FormatBuilderID ¶
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 ParseBuildSet ¶
ParseBuildSet tries to parse buildset as one of the known formats. May return *pb.GerritChange, *pb.GitilesCommit or nil.
func ParseBuilderID ¶
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 ¶
RunDuration returns duration between build start and end.
func SchedulingDuration ¶
SchedulingDuration returns duration between build creation and start.
func Search ¶
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 StringPairs ¶
func StringPairs(m strpair.Map) []*pb.StringPair
StringPairs converts a strpair.Map to a slice of StringPair messages.
Types ¶
This section is empty.