releasefallback

package
v0.0.0-...-087457d Latest Latest
Warning

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

Go to latest
Published: Jan 14, 2026 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FallbackReleases

type FallbackReleases struct {
	Releases map[string]ReleaseTestMap
}

type ReleaseFallback

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

ReleaseFallback middleware allows us to use the best pass rate data from the past several releases for our basis instead of just the requested basis. This helps prevent minor gradual degredation of quality, and also simplifies the process of accepting intentional regressions shortly before release, as we'll then automatically use the data from prior releases.

It is responsible for querying basis test status for those several releases, and then replacing any basis test stats with a better releases test stats, when appropriate. This is done when we have sufficient test coverage, and a better pass rate.

func NewReleaseFallbackMiddleware

func NewReleaseFallbackMiddleware(
	client *bqcachedclient.Client,
	reqOptions reqopts.RequestOptions,
	releaseConfigs []v1.Release,
) *ReleaseFallback

func (*ReleaseFallback) Analyze

func (r *ReleaseFallback) Analyze(testID string, variants map[string]string, report *testdetails.TestComparison) error

func (*ReleaseFallback) PostAnalysis

func (r *ReleaseFallback) PostAnalysis(testKey crtest.Identification, testStats *testdetails.TestComparison) error

func (*ReleaseFallback) PreAnalysis

func (r *ReleaseFallback) PreAnalysis(testKey crtest.Identification, testStats *testdetails.TestComparison) error

PreAnalysis looks for a better pass rate across our fallback releases for the given test stats. It then swaps them out and leaves an explanation before handing back to the core for analysis.

func (*ReleaseFallback) PreTestDetailsAnalysis

func (r *ReleaseFallback) PreTestDetailsAnalysis(testKey crtest.KeyWithVariants, status *bq.TestJobRunStatuses) error

func (*ReleaseFallback) Query

func (r *ReleaseFallback) Query(ctx context.Context, wg *sync.WaitGroup, allJobVariants crtest.JobVariants,
	_, _ chan map[string]bq.TestStatus, errCh chan error)

func (*ReleaseFallback) QueryTestDetails

func (r *ReleaseFallback) QueryTestDetails(ctx context.Context, wg *sync.WaitGroup, errCh chan error, allJobVariants crtest.JobVariants)

func (*ReleaseFallback) TestDetailsAnalyze

func (r *ReleaseFallback) TestDetailsAnalyze(report *testdetails.Report) error

type ReleaseTestMap

type ReleaseTestMap struct {
	crtest.ReleaseTimeRange
	Tests map[string]bq.TestStatus
}

Jump to

Keyboard shortcuts

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