Skip to content
Draft
Show file tree
Hide file tree
Changes from 9 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
c7533ef
Add PostgreSQL data provider for Component Readiness and enhance e2e …
stbenjam Apr 7, 2026
2bce9f9
Fix lint: gofmt, gosec, gocyclo, gocritic warnings
stbenjam Apr 7, 2026
33d7c36
Fix lint and update CI e2e to use seed data + postgres provider
stbenjam Apr 7, 2026
daa13f1
Address code review feedback
stbenjam Apr 7, 2026
c68a4fd
Fix gofmt alignment in jobrunannotator.go
stbenjam Apr 7, 2026
0d59f8c
Add code coverage to e2e tests
stbenjam Apr 7, 2026
e821604
Improve CR e2e test coverage and merge query package into bigquery pr…
stbenjam Apr 7, 2026
6a89578
Fix gofmt formatting in jiraautomator and server
stbenjam Apr 7, 2026
1acebbc
Add coverage instrumentation to CI e2e test script
stbenjam Apr 7, 2026
80edd64
Add sippy-cover binary to Dockerfile and coverage PVC to CI setup
stbenjam Apr 7, 2026
25783e0
Address CodeRabbit review feedback
stbenjam Apr 7, 2026
de9f1ec
Add .out
stbenjam Apr 7, 2026
1467315
Mem and remove artifact
stbenjam Apr 7, 2026
2366f73
Use coverage-instrumented binary for datasync e2e test
stbenjam Apr 8, 2026
0f47bcd
Add TestTriageAffectsReportStatus e2e test
stbenjam Apr 8, 2026
23af877
Restore GCS credentials for datasync e2e test in CI
stbenjam Apr 8, 2026
aae77ac
Add coverage instrumentation to seed job and fix datasync test for CI
stbenjam Apr 8, 2026
99c24ee
Merge upstream/main into enhance-cr-testing
stbenjam Apr 15, 2026
685b6ee
Add missing JobLabels and TestFailures fields to crstatus.TestJobRunRows
stbenjam Apr 15, 2026
4af328d
Split CR e2e tests into postgres and bigquery suites
stbenjam Apr 17, 2026
6edb2b8
Update CI e2e script to run both postgres and bigquery test suites
stbenjam Apr 17, 2026
1f7ba1f
Merge upstream/main into enhance-cr-testing
stbenjam Apr 17, 2026
7c5f0f8
Fix CI e2e cache priming, coverage dir detection, and test comment
stbenjam Apr 17, 2026
0c0c032
Replace destructive cleanupAllTriages with targeted cleanupTriages
stbenjam Apr 17, 2026
508cadb
Add unit tests for 6 pure-logic packages with zero prior coverage
stbenjam Apr 17, 2026
3f70be8
Add unit test phase to e2e scripts for combined coverage reporting
stbenjam Apr 17, 2026
ff7f2da
Move GCS secret creation back to CI setup step
stbenjam Apr 17, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,8 @@ report.sh
.vscode/
.idea/
/sippy-ng/build/*
.env
*.log
/e2e-coverage/
/e2e-coverage.out
/e2e-coverage.html
11 changes: 6 additions & 5 deletions cmd/sippy/annotatejobruns.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ import (
"time"

"github.com/openshift/sippy/pkg/api/componentreadiness"
"github.com/openshift/sippy/pkg/apis/api/componentreport/bq"
bqprovider "github.com/openshift/sippy/pkg/api/componentreadiness/dataprovider/bigquery"
"github.com/openshift/sippy/pkg/apis/api/componentreport/crstatus"
"github.com/openshift/sippy/pkg/apis/api/componentreport/crtest"
"github.com/openshift/sippy/pkg/apis/cache"
bqcachedclient "github.com/openshift/sippy/pkg/bigquery"
Expand All @@ -32,7 +33,7 @@ type AnnotateJobRunsFlags struct {
ComponentReadinessFlags *flags.ComponentReadinessFlags
ConfigFlags *configflags.ConfigFlags
VariantStr []string
Variants []bq.Variant
Variants []crstatus.Variant
Release string
Label string
BuildClusters []string
Expand Down Expand Up @@ -104,7 +105,7 @@ func (f *AnnotateJobRunsFlags) Validate(allVariants crtest.JobVariants) error {
if !found {
return fmt.Errorf("--variant %s has wrong variant value %s", variantStr, vt[1])
}
f.Variants = append(f.Variants, bq.Variant{Key: vt[0], Value: vt[1]})
f.Variants = append(f.Variants, crstatus.Variant{Key: vt[0], Value: vt[1]})
}
if len(f.Label) == 0 {
return fmt.Errorf("--label is required")
Expand Down Expand Up @@ -179,9 +180,9 @@ Example run: sippy annotate-job-runs --google-service-account-credential-file=f
return errors.WithMessage(err, "couldn't get DB client")
}

allVariants, errs := componentreadiness.GetJobVariantsFromBigQuery(ctx, bigQueryClient)
allVariants, errs := componentreadiness.GetJobVariants(ctx, bqprovider.NewBigQueryProvider(bigQueryClient, nil))
if len(errs) > 0 {
return fmt.Errorf("failed to get variants from bigquery")
return fmt.Errorf("failed to get job variants: %v", errs)
}
if err = f.Validate(allVariants); err != nil {
return errors.WithMessage(err, "error validating options")
Expand Down
11 changes: 6 additions & 5 deletions cmd/sippy/automatejira.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import (

"github.com/openshift/sippy/pkg/api"
"github.com/openshift/sippy/pkg/api/componentreadiness"
bqprovider "github.com/openshift/sippy/pkg/api/componentreadiness/dataprovider/bigquery"
"github.com/openshift/sippy/pkg/apis/api/componentreport/crtest"
"github.com/openshift/sippy/pkg/apis/cache"
jiratype "github.com/openshift/sippy/pkg/apis/jira/v1"
Expand Down Expand Up @@ -169,9 +170,10 @@ func NewAutomateJiraCommand() *cobra.Command {
log.WithError(err).Warn("error reading config file")
}

allVariants, errs := componentreadiness.GetJobVariantsFromBigQuery(ctx, bigQueryClient)
provider := bqprovider.NewBigQueryProvider(bigQueryClient, config.ComponentReadinessConfig.VariantJunitTableOverrides)
allVariants, errs := componentreadiness.GetJobVariants(ctx, provider)
if len(errs) > 0 {
return fmt.Errorf("failed to get variants from bigquery")
return fmt.Errorf("failed to get job variants")
}
Comment thread
coderabbitai[bot] marked this conversation as resolved.
variantToJiraComponents, err := jiraautomator.GetVariantJiraMap(ctx, bigQueryClient)
if err != nil {
Expand All @@ -186,11 +188,10 @@ func NewAutomateJiraCommand() *cobra.Command {
log.WithError(err).Fatal("unable to connect to postgres")
}
j, err := jiraautomator.NewJiraAutomator(
jiraClient, bigQueryClient, dbc, cacheOpts,
jiraClient, bigQueryClient, provider, dbc, cacheOpts,
views.ComponentReadiness, releases, f.SippyURL, f.JiraAccount,
f.IncludeComponents, f.ColumnThresholds,
f.DryRun, variantToJiraComponents,
config.ComponentReadinessConfig.VariantJunitTableOverrides)
f.DryRun, variantToJiraComponents)
if err != nil {
panic(err)
}
Expand Down
12 changes: 8 additions & 4 deletions cmd/sippy/component_readiness.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import (
"gopkg.in/yaml.v3"

resources "github.com/openshift/sippy"
bqprovider "github.com/openshift/sippy/pkg/api/componentreadiness/dataprovider/bigquery"
"github.com/openshift/sippy/pkg/apis/cache"
v1 "github.com/openshift/sippy/pkg/apis/config/v1"
"github.com/openshift/sippy/pkg/bigquery"
Expand Down Expand Up @@ -186,6 +187,8 @@ func (f *ComponentReadinessFlags) runServerMode() error {
log.WithError(err).Warn("unable to initialize Jira client, bug filing will be disabled")
}

crDataProvider := bqprovider.NewBigQueryProvider(bigQueryClient, config.ComponentReadinessConfig.VariantJunitTableOverrides)

server := sippyserver.NewServer(
sippyserver.ModeOpenShift,
f.APIFlags.ListenAddr,
Expand All @@ -198,6 +201,7 @@ func (f *ComponentReadinessFlags) runServerMode() error {
gcsClient,
f.GoogleCloudFlags.StorageBucket,
bigQueryClient,
crDataProvider,
nil,
cacheClient,
f.ComponentReadinessFlags.CRTimeRoundingFactor,
Expand All @@ -214,10 +218,10 @@ func (f *ComponentReadinessFlags) runServerMode() error {
context.Background(),
dbc,
bigQueryClient,
crDataProvider,
time.Time{},
cache.NewStandardCROptions(f.ComponentReadinessFlags.CRTimeRoundingFactor),
views.ComponentReadiness,
config.ComponentReadinessConfig.VariantJunitTableOverrides)
views.ComponentReadiness)
if err != nil {
log.WithError(err).Error("error refreshing metrics")
}
Expand All @@ -234,10 +238,10 @@ func (f *ComponentReadinessFlags) runServerMode() error {
context.Background(),
dbc,
bigQueryClient,
crDataProvider,
time.Time{},
cache.NewStandardCROptions(f.ComponentReadinessFlags.CRTimeRoundingFactor),
views.ComponentReadiness,
config.ComponentReadinessConfig.VariantJunitTableOverrides)
views.ComponentReadiness)
if err != nil {
log.WithError(err).Error("error refreshing metrics")
}
Expand Down
4 changes: 2 additions & 2 deletions cmd/sippy/load.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import (
"cloud.google.com/go/bigquery"
"github.com/openshift/sippy/pkg/api"
"github.com/openshift/sippy/pkg/api/componentreadiness"
bqprovider "github.com/openshift/sippy/pkg/api/componentreadiness/dataprovider/bigquery"
"github.com/openshift/sippy/pkg/apis/cache"
sippyv1 "github.com/openshift/sippy/pkg/apis/sippy/v1"
"github.com/openshift/sippy/pkg/dataloader/crcacheloader"
Expand Down Expand Up @@ -318,10 +319,9 @@ func NewLoadCommand() *cobra.Command {
}

regressionTracker := componentreadiness.NewRegressionTracker(
bqc, dbc, cacheOpts, releases,
bqprovider.NewBigQueryProvider(bqc, config.ComponentReadinessConfig.VariantJunitTableOverrides), dbc, cacheOpts, releases,
componentreadiness.NewPostgresRegressionStore(dbc, jiraClient),
Comment thread
stbenjam marked this conversation as resolved.
views.ComponentReadiness,
config.ComponentReadinessConfig.VariantJunitTableOverrides,
false)
loaders = append(loaders, regressionTracker)
}
Expand Down
Loading