Documentation
¶
Index ¶
- Constants
- Variables
- func Branches(ctx context.Context, r Repository) ([]string, error)
- func CmpBranches(a string, b string) int
- func DeleteExistingReleaseBuildConfigurationForBranch(outConfig *string, r Repository, branch string) error
- func GenerateKonflux(ctx context.Context, openshiftRelease Repository, configs []*Config) error
- func GenerateKonfluxServerlessOperator(ctx context.Context, openshiftRelease Repository, r Repository, config *Config) error
- func GetJobConfig(match string) (*prowconfig.JobConfig, error)
- func GitCheckout(ctx context.Context, r Repository, branch string) error
- func GitClone(ctx context.Context, r Repository) error
- func GitDiffNameOnly(ctx context.Context, r Repository, sha string) ([]string, error)
- func GitFetch(ctx context.Context, r Repository, sha string) error
- func GitMerge(ctx context.Context, r Repository, sha string) error
- func GitMirror(ctx context.Context, r Repository) error
- func InitializeOpenShiftReleaseRepository(ctx context.Context, openShiftRelease Repository, inConfigs []*Config, ...) error
- func Main()
- func PushBranch(ctx context.Context, release Repository, remote *string, branch string, ...) error
- func ReconcileImageMirroringConfig(cfg *Config, mirroring ImageMirroringConfig) error
- func Run(ctx context.Context, r Repository, name string, args ...string) ([]byte, error)
- func RunOpenShiftReleaseGenerator(ctx context.Context, openShiftRelease Repository) error
- func SaveJobConfig(match string, jobConfig *prowconfig.JobConfig) error
- func SaveReleaseBuildConfiguration(outConfig *string, cfg ReleaseBuildConfiguration) error
- func SemverFromReleaseBranch(b string) (*semver.Version, error)
- func ServerlessOperatorKonfluxVersions(ctx context.Context) (map[string]string, error)
- func ToName(r Repository, test *Test) string
- type Branch
- type CommonConfig
- type Config
- type CustomConfigs
- type CustomConfigsEnablement
- type Dockerfiles
- type E2ETest
- type IgnoreConfigs
- type Image
- type ImageInput
- type ImageMirroringConfig
- type JobConfigInjector
- type JobConfigInjectors
- type JobConfigType
- type Konflux
- type OpenShift
- type ProjectDirectoryImageBuildStepConfigurationFunc
- type Promotion
- type Prowgen
- type ReleaseBuildConfiguration
- type ReleaseBuildConfigurationOption
- func DependenciesForTestSteps() ReleaseBuildConfigurationOption
- func DiscoverImages(r Repository, skipDockerFiles []string) ReleaseBuildConfigurationOption
- func DiscoverTests(r Repository, openShift OpenShift, sourceImageName string, ...) ReleaseBuildConfigurationOption
- func WithBaseImages(baseImages map[string]cioperatorapi.ImageStreamTagReference) ReleaseBuildConfigurationOption
- func WithImage(ibcFunc ProjectDirectoryImageBuildStepConfigurationFunc) ReleaseBuildConfigurationOption
- type Repository
- func (r Repository) IsEKB() bool
- func (r Repository) IsEventPlugin() bool
- func (r Repository) IsFunc() bool
- func (r Repository) IsServerlessOperator() bool
- func (r Repository) RepositoryDirectory() string
- func (r Repository) RunCodegenCommand() string
- func (r Repository) RunDockefileGenCommand() string
- type Test
Constants ¶
View Source
const ( CIRegistry = "registry.ci.openshift.org" QuayRegistry = "quay.io/openshift-knative" QuayMirroringSuffix = "_quay" ImageMirroringConfigPath = "core-services/image-mirroring/knative" ImageMirroringConfigFilePrefix = "mapping_knative" )
View Source
const (
KonfluxBranchPrefix = "sync-konflux-"
)
Variables ¶
View Source
var ( ProductionContext imageContext = "" TestContext imageContext = "test" )
Functions ¶
func CmpBranches ¶
func DeleteExistingReleaseBuildConfigurationForBranch ¶
func DeleteExistingReleaseBuildConfigurationForBranch(outConfig *string, r Repository, branch string) error
func GenerateKonflux ¶
func GenerateKonflux(ctx context.Context, openshiftRelease Repository, configs []*Config) error
func GenerateKonfluxServerlessOperator ¶
func GenerateKonfluxServerlessOperator(ctx context.Context, openshiftRelease Repository, r Repository, config *Config) error
func GetJobConfig ¶
func GetJobConfig(match string) (*prowconfig.JobConfig, error)
func GitCheckout ¶
func GitCheckout(ctx context.Context, r Repository, branch string) error
func GitDiffNameOnly ¶
func InitializeOpenShiftReleaseRepository ¶
func InitializeOpenShiftReleaseRepository(ctx context.Context, openShiftRelease Repository, inConfigs []*Config, outputConfig *string) error
InitializeOpenShiftReleaseRepository clones openshift/release and clean up existing jobs for the configured branches
func PushBranch ¶
func ReconcileImageMirroringConfig ¶
func ReconcileImageMirroringConfig(cfg *Config, mirroring ImageMirroringConfig) error
func RunOpenShiftReleaseGenerator ¶
func RunOpenShiftReleaseGenerator(ctx context.Context, openShiftRelease Repository) error
func SaveJobConfig ¶
func SaveJobConfig(match string, jobConfig *prowconfig.JobConfig) error
func SaveReleaseBuildConfiguration ¶
func SaveReleaseBuildConfiguration(outConfig *string, cfg ReleaseBuildConfiguration) error
func ToName ¶
func ToName(r Repository, test *Test) string
ToName creates a test name for the given Test following the constraints in openshift/release. - name cannot be longer than maxNameLength characters.
Types ¶
type Branch ¶
type Branch struct { Prowgen *Prowgen `json:"prowgen,omitempty" yaml:"prowgen,omitempty"` OpenShiftVersions []OpenShift `json:"openShiftVersions,omitempty" yaml:"openShiftVersions,omitempty"` SkipE2EMatches []string `json:"skipE2EMatches,omitempty" yaml:"skipE2EMatches,omitempty"` SkipDockerFilesMatches []string `json:"skipDockerFilesMatches,omitempty" yaml:"skipDockerFilesMatches,omitempty"` Konflux *Konflux `json:"konflux,omitempty" yaml:"konflux,omitempty"` // DependabotEnabled enabled if `nil`. DependabotEnabled *bool `json:"dependabotEnabled,omitempty" yaml:"dependabotEnabled,omitempty"` }
type CommonConfig ¶
type Config ¶
type Config struct { Repositories []Repository `json:"repositories,omitempty" yaml:"repositories,omitempty"` Config CommonConfig `json:"config,omitempty" yaml:"config,omitempty"` }
Config is the prowgen configuration file struct.
func LoadConfig ¶
func UnmarshalConfig ¶
type CustomConfigs ¶
type CustomConfigs struct { // Name will be used to generate a specific variant. Name string `json:"name,omitempty" yaml:"name,omitempty"` // ReleaseBuildConfiguration allows defining configuration manually. The final configuration // is extended with images and test steps with dependencies. ReleaseBuildConfiguration cioperatorapi.ReleaseBuildConfiguration `json:"releaseBuildConfiguration,omitempty" yaml:"releaseBuildConfiguration,omitempty"` }
type CustomConfigsEnablement ¶
type Dockerfiles ¶
type E2ETest ¶
type E2ETest struct { Match string `json:"match,omitempty" yaml:"match,omitempty"` OnDemand bool `json:"onDemand,omitempty" yaml:"onDemand,omitempty"` IgnoreError bool `json:"ignoreError,omitempty" yaml:"ignoreError,omitempty"` RunIfChanged string `json:"runIfChanged,omitempty" yaml:"runIfChanged,omitempty"` // SkipCron ensures that no periodic job will be generated for the given test. SkipCron bool `json:"skipCron,omitempty" yaml:"skipCron,omitempty"` SkipImages []string `json:"skipImages,omitempty" yaml:"skipImages,omitempty"` Timeout *prowapi.Duration `json:"timeout,omitempty" yaml:"timeout,omitempty"` JobTimeout *prowapi.Duration `json:"jobTimeout,omitempty" yaml:"jobTimeout,omitempty"` }
type IgnoreConfigs ¶
type IgnoreConfigs struct {
Matches []string `json:"matches,omitempty" yaml:"matches,omitempty"`
}
type ImageInput ¶
type ImageInput struct { Context imageContext DockerfilePath string Inputs map[string]cioperatorapi.ImageBuildInputs }
type ImageMirroringConfig ¶
type ImageMirroringConfig struct { Path string Content string Release string Metadata cioperatorapi.Metadata }
func GenerateImageMirroringConfigs ¶
func GenerateImageMirroringConfigs(openshiftRelease Repository, cfgs []ReleaseBuildConfiguration) []ImageMirroringConfig
type JobConfigInjector ¶
type JobConfigInjector struct { Type JobConfigType Update func(r *Repository, b *Branch, branchName string, jobConfig *prowconfig.JobConfig) error }
func AlwaysRunInjector ¶
func AlwaysRunInjector() JobConfigInjector
type JobConfigInjectors ¶
type JobConfigInjectors []JobConfigInjector
func (JobConfigInjectors) Inject ¶
func (jcis JobConfigInjectors) Inject(inConfig *Config, openShiftRelease Repository) error
type JobConfigType ¶
type JobConfigType string
const ( Periodic JobConfigType = "periodics" PreSubmit JobConfigType = "presubmits" PostSubmit JobConfigType = "postsubmits" )
type Konflux ¶
type Konflux struct { Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` Nudges []string `json:"nudges,omitempty" yaml:"nudges,omitempty"` Excludes []string `json:"excludes,omitempty" yaml:"excludes,omitempty"` ExcludesImages []string `json:"excludesImages,omitempty" yaml:"excludesImages,omitempty"` JavaImages []string `json:"javaImages,omitempty" yaml:"javaImages,omitempty"` ImageOverrides []Image `json:"imageOverrides,omitempty" yaml:"imageOverrides,omitempty"` }
type OpenShift ¶
type OpenShift struct { Version string `json:"version,omitempty" yaml:"version,omitempty"` UseClusterPool bool `json:"useClusterPool,omitempty" yaml:"useClusterPool,omitempty"` Cron string `json:"cron,omitempty" yaml:"cron,omitempty"` // SkipCron ensures that no periodic jobs are generated for tests running on the given OpenShift version. SkipCron bool `json:"skipCron,omitempty" yaml:"skipCron,omitempty"` OnDemand bool `json:"onDemand,omitempty" yaml:"onDemand,omitempty"` CustomConfigs *CustomConfigsEnablement `json:"customConfigs,omitempty" yaml:"customConfigs,omitempty"` CandidateRelease bool `json:"candidateRelease,omitempty" yaml:"candidateRelease,omitempty"` }
type ProjectDirectoryImageBuildStepConfigurationFunc ¶
type ProjectDirectoryImageBuildStepConfigurationFunc func() (cioperatorapi.ProjectDirectoryImageBuildStepConfiguration, error)
func ProjectDirectoryImageBuildStepConfigurationFuncFromImageInput ¶
func ProjectDirectoryImageBuildStepConfigurationFuncFromImageInput(r Repository, input ImageInput) ProjectDirectoryImageBuildStepConfigurationFunc
type Prowgen ¶
type Prowgen struct {
Disabled bool `json:"disabled,omitempty" yaml:"disabled,omitempty"`
}
type ReleaseBuildConfiguration ¶
type ReleaseBuildConfiguration struct { cioperatorapi.ReleaseBuildConfiguration Path string Branch string }
func NewGenerateConfigs ¶
func NewGenerateConfigs(ctx context.Context, r Repository, cc CommonConfig, opts ...ReleaseBuildConfigurationOption) ([]ReleaseBuildConfiguration, error)
type ReleaseBuildConfigurationOption ¶
type ReleaseBuildConfigurationOption func(cfg *cioperatorapi.ReleaseBuildConfiguration) error
func DependenciesForTestSteps ¶
func DependenciesForTestSteps() ReleaseBuildConfigurationOption
func DiscoverImages ¶
func DiscoverImages(r Repository, skipDockerFiles []string) ReleaseBuildConfigurationOption
func DiscoverTests ¶
func DiscoverTests(r Repository, openShift OpenShift, sourceImageName string, skipE2ETestMatch []string, random *rand.Rand) ReleaseBuildConfigurationOption
func WithBaseImages ¶
func WithBaseImages(baseImages map[string]cioperatorapi.ImageStreamTagReference) ReleaseBuildConfigurationOption
func WithImage ¶
func WithImage(ibcFunc ProjectDirectoryImageBuildStepConfigurationFunc) ReleaseBuildConfigurationOption
type Repository ¶
type Repository struct { Org string `json:"org,omitempty" yaml:"org,omitempty"` Repo string `json:"repo,omitempty" yaml:"repo,omitempty"` Promotion Promotion `json:"promotion,omitempty" yaml:"promotion,omitempty"` ImagePrefix string `json:"imagePrefix,omitempty" yaml:"imagePrefix,omitempty"` ImageNameOverrides map[string]string `json:"imageNameOverrides,omitempty" yaml:"imageNameOverrides,omitempty"` SlackChannel string `json:"slackChannel,omitempty" yaml:"slackChannel,omitempty"` CanonicalGoRepository *string `json:"canonicalGoRepository,omitempty" yaml:"canonicalGoRepository,omitempty"` E2ETests []E2ETest `json:"e2e,omitempty" yaml:"e2e,omitempty"` Dockerfiles Dockerfiles `json:"dockerfiles,omitempty" yaml:"dockerfiles,omitempty"` IgnoreConfigs IgnoreConfigs `json:"ignoreConfigs,omitempty" yaml:"ignoreConfigs,omitempty"` CustomConfigs []CustomConfigs `json:"customConfigs,omitempty" yaml:"customConfigs,omitempty"` Images []cioperatorapi.ProjectDirectoryImageBuildStepConfiguration `json:"images,omitempty" yaml:"images,omitempty"` Tests []cioperatorapi.TestStepConfiguration `json:"tests,omitempty" yaml:"tests,omitempty"` Resources cioperatorapi.ResourceConfiguration `json:"resources,omitempty" yaml:"resources,omitempty"` }
func (Repository) IsEKB ¶
func (r Repository) IsEKB() bool
func (Repository) IsEventPlugin ¶
func (r Repository) IsEventPlugin() bool
func (Repository) IsFunc ¶
func (r Repository) IsFunc() bool
func (Repository) IsServerlessOperator ¶
func (r Repository) IsServerlessOperator() bool
func (Repository) RepositoryDirectory ¶
func (r Repository) RepositoryDirectory() string
func (Repository) RunCodegenCommand ¶
func (r Repository) RunCodegenCommand() string
func (Repository) RunDockefileGenCommand ¶
func (r Repository) RunDockefileGenCommand() string
Click to show internal directories.
Click to hide internal directories.