revision_filter

package
v0.0.0-...-13f153f Latest Latest
Warning

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

Go to latest
Published: May 3, 2024 License: BSD-3-Clause Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BuildbucketRevisionFilter

type BuildbucketRevisionFilter struct {
	// contains filtered or unexported fields
}

BuildbucketRevisionFilter is a RevisionFilter which uses results from BuildBucket to filter Revisions.

func NewBuildbucketRevisionFilter

func NewBuildbucketRevisionFilter(client *http.Client, bbConfig *config.BuildbucketRevisionFilterConfig) (*BuildbucketRevisionFilter, error)

NewBuildbucketRevisionFilter returns a RevisionFilter which uses results from Buildbucket to filter revisions.

func (BuildbucketRevisionFilter) Skip

Skip implements RevisionFilter.

func (BuildbucketRevisionFilter) Update

Update implements RevisionFilter.

type CIPDRevisionFilter

type CIPDRevisionFilter struct {
	// contains filtered or unexported fields
}

CIPDRevisionFilter is a RevisionFilter which filters out Revisions which don't exist on all of the configured packages and platforms. Only works with rollers who use a tag as the Revision ID, eg. git_revision.

func NewCIPDRevisionFilter

func NewCIPDRevisionFilter(client *http.Client, cfg *config.CIPDRevisionFilterConfig, workdir string) (*CIPDRevisionFilter, error)

NewCIPDRevisionFilter returns a RevisionFilter which filters out Revisions which don't exist on all of the configured packages and platforms.

func (*CIPDRevisionFilter) Skip

Skip implements RevisionFilter.

func (*CIPDRevisionFilter) Update

func (f *CIPDRevisionFilter) Update(_ context.Context) error

Update implements RevisionFilter.

type RevisionFilter

type RevisionFilter interface {
	// Skip returns a non-empty string if the revision should be skipped. The
	// string will contain the reason the revision should be skipped. An empty
	// string is returned if the revision should not be skipped.
	// If an error is returned then an empty string will be returned.
	Skip(context.Context, revision.Revision) (string, error)
	// Update any cached data stored by the RevisionFilter. This should be done
	// once before each batch of calls to Skip().
	Update(context.Context) error
}

RevisionFilter determines whether Revisions should be skipped when considering what Revision to roll.

type RevisionFilters

type RevisionFilters []RevisionFilter

func (RevisionFilters) MaybeSetInvalid

func (rfs RevisionFilters) MaybeSetInvalid(ctx context.Context, rev *revision.Revision) error

MaybeSetInvalid uses the each RevisionFilter to determine whether the given Revision is invalid and should be skipped. If the Revision is invalid, the InvalidReason field is set to the message returned by RevisionFilter.Skip.

func (RevisionFilters) Skip

Skip runs rf.Skip(rev) for each RevisionFilter.

func (RevisionFilters) Update

func (rfs RevisionFilters) Update(ctx context.Context) error

Update all of the RevisionFilters.

type ValidHTTPRevisionFilter

type ValidHTTPRevisionFilter struct {
	// contains filtered or unexported fields
}

ValidHTTPRevisionFilter is a RevisionFilter implementation which obtains a single valid revision from a file which is retrieved via HTTP.

func NewValidRevisionFromHTTPRevisionFilter

func NewValidRevisionFromHTTPRevisionFilter(cfg *config.ValidHttpRevisionFilterConfig, client *http.Client) (*ValidHTTPRevisionFilter, error)

NewValidRevisionFromHTTPRevisionFilter returns a RevisionSelector instance.

func (*ValidHTTPRevisionFilter) Skip

Skip implements RevisionFilter.

func (*ValidHTTPRevisionFilter) Update

Update implements RevisionFilter.

Jump to

Keyboard shortcuts

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