Version: v0.0.0-...-1182291 Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Dec 1, 2022 License: Apache-2.0 Imports: 15 Imported by: 19



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



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.


This section is empty.


func BuildSets

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

BuildSets returns all of the buildsets of the build.

func CacheDir

func CacheDir(b *pb.Build) string

CacheDir returns the cache dir of the build.

func ExePayloadPath

func ExePayloadPath(b *pb.Build) string

ExePayloadPath returns the payload path 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/"

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/"

Returns an empty string if not all of {Host, Project, Id} are set.

func GitilesCommitURL

func GitilesCommitURL(c *pb.GitilesCommit) string

GitilesCommitURL returns the URL for the gitiles commit. e.g. "" or "" if id is not available.

func GitilesRepoURL

func GitilesRepoURL(c *pb.GitilesCommit) string

GitilesRepoURL returns the URL for the gitiles repo. e.g. ""

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 SetStatus

func SetStatus(now time.Time, b *pb.Build, st pb.Status)

SetStatus sets the status field on `b`, and also correctly adjusts StartTime and EndTime.

Will set UpdateTime iff `st` is different than `b.Status`.

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.

func WellKnownExperiments

func WellKnownExperiments(globalCfg *pb.SettingsCfg) stringset.Set

WellKnownExperiments computes all known 'global' experiments from the global SettingsCfg.


This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL