v1alpha1

package
v0.0.717 Latest Latest
Warning

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

Go to latest
Published: Aug 13, 2020 License: Apache-2.0 Imports: 13 Imported by: 5

Documentation

Overview

Package v1alpha1 contains LighthouseJob +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/jenkins-x/lighthouse/pkg/apis/lighthouse +k8s:defaulter-gen=TypeMeta +groupName=lighthouse.jenkins.io

Index

Constants

View Source
const (
	// BuildIDEnv is an optional unique build ID environment variable that can be used by an engine.
	BuildIDEnv = "BUILD_ID"
	// JobSpecEnv is a legacy Prow variable with "type:(type)"
	JobSpecEnv = "JOB_SPEC"
	// JobNameEnv is the name of the job
	JobNameEnv = "JOB_NAME"
	// JobTypeEnv is the type of job
	JobTypeEnv = "JOB_TYPE"
	// RepoOwnerEnv is the org/owner for the repository we're building
	RepoOwnerEnv = "REPO_OWNER"
	// RepoNameEnv is the name of the repository we're building
	RepoNameEnv = "REPO_NAME"
	// PullBaseRefEnv is the base ref (such as master) for a pull request
	PullBaseRefEnv = "PULL_BASE_REF"
	// PullBaseShaEnv is the actual commit sha for the base for a pull request
	PullBaseShaEnv = "PULL_BASE_SHA"
	// PullRefsEnv is the refs and shas for the base and PR, like "master:abcd1234...,123:5678abcd..." for PR-123.
	PullRefsEnv = "PULL_REFS"
	// PullNumberEnv is the pull request number
	PullNumberEnv = "PULL_NUMBER"
	// PullPullShaEnv is the pull request's sha
	PullPullShaEnv = "PULL_PULL_SHA"
)

Environment variables to be added to the pipeline we kick off

Variables

View Source
var (
	// SchemeBuilder collects functions that add things to a scheme.
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	// AddToScheme applies all the stored functions to the scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: lighthouse.GroupName, Version: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects

Functions

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type ActivityRecord added in v0.0.677

type ActivityRecord struct {
	Name            string                 `json:"name"`
	JobID           string                 `json:"jobId,omitempty"`
	Owner           string                 `json:"owner,omitempty"`
	Repo            string                 `json:"repo,omitempty"`
	Branch          string                 `json:"branch,omitempty"`
	BuildIdentifier string                 `json:"buildId,omitempty"`
	Context         string                 `json:"context,omitempty"`
	GitURL          string                 `json:"gitURL,omitempty"`
	LogURL          string                 `json:"logURL,omitempty"`
	LinkURL         string                 `json:"linkURL,omitempty"`
	Status          PipelineState          `json:"status,omitempty"`
	BaseSHA         string                 `json:"baseSHA,omitempty"`
	LastCommitSHA   string                 `json:"lastCommitSHA,omitempty"`
	StartTime       *metav1.Time           `json:"startTime,omitempty"`
	CompletionTime  *metav1.Time           `json:"completionTime,omitempty"`
	Stages          []*ActivityStageOrStep `json:"stages,omitempty"`
	Steps           []*ActivityStageOrStep `json:"steps,omitEmpty"`
}

ActivityRecord is a struct for reporting information on a pipeline, build, or other activity triggered by Lighthouse

func (*ActivityRecord) DeepCopy added in v0.0.677

func (in *ActivityRecord) DeepCopy() *ActivityRecord

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActivityRecord.

func (*ActivityRecord) DeepCopyInto added in v0.0.677

func (in *ActivityRecord) DeepCopyInto(out *ActivityRecord)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ActivityRecord) RunningStages added in v0.0.677

func (a *ActivityRecord) RunningStages() []string

RunningStages returns the list of stages currently running

type ActivityStageOrStep added in v0.0.677

type ActivityStageOrStep struct {
	Name           string                 `json:"name"`
	Status         PipelineState          `json:"status"`
	StartTime      *metav1.Time           `json:"startTime,omitempty"`
	CompletionTime *metav1.Time           `json:"completionTime,omitempty"`
	Stages         []*ActivityStageOrStep `json:"stages,omitempty"`
	Steps          []*ActivityStageOrStep `json:"steps,omitempty"`
}

ActivityStageOrStep represents a stage of an activity

func (*ActivityStageOrStep) DeepCopy added in v0.0.677

func (in *ActivityStageOrStep) DeepCopy() *ActivityStageOrStep

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActivityStageOrStep.

func (*ActivityStageOrStep) DeepCopyInto added in v0.0.677

func (in *ActivityStageOrStep) DeepCopyInto(out *ActivityStageOrStep)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Approve added in v0.0.711

type Approve struct {
	// IssueRequired indicates if an associated issue is required for approval in
	// the specified repos.
	IssueRequired bool `json:"issueRequired,omitempty"`

	// RequireSelfApproval requires PR authors to explicitly approve their PRs.
	// Otherwise the plugin assumes the author of the PR approves the changes in the PR.
	RequireSelfApproval *bool `json:"requireSelfApproval,omitempty"`

	// LgtmActsAsApprove indicates that the lgtm command should be used to
	// indicate approval
	LgtmActsAsApprove bool `json:"lgtmActsAsApprove,omitempty"`

	// IgnoreReviewState causes the approve plugin to ignore the GitHub review state. Otherwise:
	// * an APPROVE github review is equivalent to leaving an "/approve" message.
	// * A REQUEST_CHANGES github review is equivalent to leaving an /approve cancel" message.
	IgnoreReviewState *bool `json:"ignoreReviewState,omitempty"`
}

Approve specifies a configuration for a single approve.

The configuration for the approve plugin is defined as a list of these structures.

type Brancher added in v0.0.711

type Brancher struct {
	// Do not run against these branches. Default is no branches.
	SkipBranches []string `json:"skipBranches,omitempty"`
	// Only run against these branches. Default is all branches.
	Branches []string `json:"branches,omitempty"`
	// contains filtered or unexported fields
}

Brancher is for shared code between jobs that only run against certain branches. An empty brancher runs against all branches.

type ByNum

type ByNum []Pull

ByNum implements sort.Interface for []Pull to sort by ascending PR number.

func (ByNum) DeepCopy

func (in ByNum) DeepCopy() ByNum

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ByNum.

func (ByNum) DeepCopyInto

func (in ByNum) DeepCopyInto(out *ByNum)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ByNum) Len

func (prs ByNum) Len() int

func (ByNum) Less

func (prs ByNum) Less(i, j int) bool

func (ByNum) Swap

func (prs ByNum) Swap(i, j int)

type ChangedFilesProvider added in v0.0.711

type ChangedFilesProvider func() ([]string, error)

ChangedFilesProvider returns a slice of modified files.

type DecorationConfig

type DecorationConfig struct {
	// Timeout is how long the pod utilities will wait
	// before aborting a job with SIGINT.
	Timeout *Duration `json:"timeout,omitempty"`
	// GracePeriod is how long the pod utilities will wait
	// after sending SIGINT to send SIGKILL when aborting
	// a job. Only applicable if decorating the PodSpec.
	GracePeriod *Duration `json:"grace_period,omitempty"`

	/*
		// UtilityImages holds pull specs for utility container
		// images used to decorate a PodSpec.
		UtilityImages *UtilityImages `json:"utility_images,omitempty"`
		// GCSConfiguration holds options for pushing logs and
		// artifacts to GCS from a job.
		GCSConfiguration *GCSConfiguration `json:"gcs_configuration,omitempty"`
	*/
	// GCSCredentialsSecret is the name of the Kubernetes secret
	// that holds GCS push credentials.
	GCSCredentialsSecret string `json:"gcs_credentials_secret,omitempty"`
	// SSHKeySecrets are the names of Kubernetes secrets that contain
	// SSK keys which should be used during the cloning process.
	SSHKeySecrets []string `json:"ssh_key_secrets,omitempty"`
	// SSHHostFingerprints are the fingerprints of known SSH hosts
	// that the cloning process can trust.
	// Launch with ssh-keyscan [-t rsa] host
	SSHHostFingerprints []string `json:"ssh_host_fingerprints,omitempty"`
	// SkipCloning determines if we should clone source code in the
	// initcontainers for jobs that specify refs
	SkipCloning *bool `json:"skip_cloning,omitempty"`
	// CookieFileSecret is the name of a kubernetes secret that contains
	// a git http.cookiefile, which should be used during the cloning process.
	CookiefileSecret string `json:"cookiefile_secret,omitempty"`
}

DecorationConfig specifies how to augment pods.

This is primarily used to provide automatic integration with gubernator and testgrid.

func (*DecorationConfig) DeepCopy

func (in *DecorationConfig) DeepCopy() *DecorationConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DecorationConfig.

func (*DecorationConfig) DeepCopyInto

func (in *DecorationConfig) DeepCopyInto(out *DecorationConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DecorationConfig) Validate

func (d *DecorationConfig) Validate() error

Validate ensures all the values set in the DecorationConfig are valid.

type Duration

type Duration struct {
	Duration time.Duration
}

Duration is a wrapper around time.Duration that parses times in either 'integer number of nanoseconds' or 'duration string' formats and serializes to 'duration string' format.

func (*Duration) DeepCopy

func (in *Duration) DeepCopy() *Duration

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Duration.

func (*Duration) DeepCopyInto

func (in *Duration) DeepCopyInto(out *Duration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Duration) MarshalJSON

func (d *Duration) MarshalJSON() ([]byte, error)

MarshalJSON marshals a duration object to a byte array

func (*Duration) UnmarshalJSON

func (d *Duration) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshal a byte array into a Duration object

type JobBase added in v0.0.711

type JobBase struct {
	// The name of the job. Must match regex [A-Za-z0-9-._]+
	// e.g. pull-test-infra-bazel-build
	Name string `json:"name"`
	// Labels are added to LighthouseJobs and pods created for this job.
	Labels map[string]string `json:"labels,omitempty"`
	// Annotations are unused by prow itself, but provide a space to configure other automation.
	Annotations map[string]string `json:"annotations,omitempty"`
	// MaximumConcurrency of this job, 0 implies no limit.
	MaxConcurrency int `json:"maxConcurrency,omitempty"`
	// Agent that will take care of running this job.
	Agent string `json:"agent"`
	// Cluster is the alias of the cluster to run this job in.
	// (Default: kube.DefaultClusterAlias)
	Cluster string `json:"cluster,omitempty"`
	// Namespace is the namespace in which pods schedule.
	//   nil: results in config.PodNamespace (aka pod default)
	//   empty: results in config.LighthouseJobNamespace (aka same as LighthouseJob)
	Namespace *string `json:"namespace,omitempty"`
	// ErrorOnEviction indicates that the LighthouseJob should be completed and given
	// the ErrorState status if the pod that is executing the job is evicted.
	// If this field is unspecified or false, a new pod will be created to replace
	// the evicted one.
	ErrorOnEviction bool `json:"errorOnEviction,omitempty"`
	// SourcePath contains the path where this job is defined
	SourcePath string `json:"-"`
	// Spec is the Kubernetes pod spec used if Agent is kubernetes.
	Spec *v1.PodSpec `json:"spec,omitempty"`
	// PipelineRunSpec is the Tekton PipelineRun spec used if agent is tekton-pipeline
	PipelineRunSpec *tektonv1beta1.PipelineRunSpec `json:"pipelineRunSpec,omitempty"`

	UtilityConfig
}

JobBase contains attributes common to all job types

type Keeper added in v0.0.711

type Keeper struct {
	// Query the query to add for the repository
	Query *config.KeeperQuery `json:"query,omitempty"`
}

Keeper for keeper specific queries

type LighthouseJob

type LighthouseJob struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   LighthouseJobSpec   `json:"spec,omitempty"`
	Status LighthouseJobStatus `json:"status,omitempty"`
}

LighthouseJob contains the arguments to create a Jenkins X Pipeline and to report on it

func (*LighthouseJob) DeepCopy

func (in *LighthouseJob) DeepCopy() *LighthouseJob

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LighthouseJob.

func (*LighthouseJob) DeepCopyInto

func (in *LighthouseJob) DeepCopyInto(out *LighthouseJob)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*LighthouseJob) DeepCopyObject

func (in *LighthouseJob) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type LighthouseJobList

type LighthouseJobList struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []LighthouseJob `json:"items"`
}

LighthouseJobList represents a list of pipeline options

func (*LighthouseJobList) DeepCopy

func (in *LighthouseJobList) DeepCopy() *LighthouseJobList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LighthouseJobList.

func (*LighthouseJobList) DeepCopyInto

func (in *LighthouseJobList) DeepCopyInto(out *LighthouseJobList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*LighthouseJobList) DeepCopyObject

func (in *LighthouseJobList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type LighthouseJobSpec

type LighthouseJobSpec struct {
	// Type is the type of job and informs how
	// the jobs is triggered
	Type config.PipelineKind `json:"type,omitempty"`
	// Agent is what should run this job, if anything.
	Agent string `json:"agent,omitempty"`
	// Namespace defines where to create pods/resources.
	Namespace string `json:"namespace,omitempty"`
	// Job is the name of the job
	Job string `json:"job,omitempty"`
	// Refs is the code under test, determined at
	// runtime by Prow itself
	Refs *Refs `json:"refs,omitempty"`
	// ExtraRefs are auxiliary repositories that
	// need to be cloned, determined from config
	ExtraRefs []Refs `json:"extra_refs,omitempty"`
	// Context is the name of the status context used to
	// report back to GitHub
	Context string `json:"context,omitempty"`
	// RerunCommand is the command a user would write to
	// trigger this job on their pull request
	RerunCommand string `json:"rerun_command,omitempty"`
	// MaxConcurrency restricts the total number of instances
	// of this job that can run in parallel at once
	MaxConcurrency int `json:"max_concurrency,omitempty"`
	// PipelineRunSpec provides the basis for running the test as a Tekton Pipeline
	// https://github.com/tektoncd/pipeline
	PipelineRunSpec *tektonv1beta1.PipelineRunSpec `json:"pipeline_run_spec,omitempty"`
	// PodSpec provides the basis for running the test under a Kubernetes agent
	PodSpec *corev1.PodSpec `json:"pod_spec,omitempty"`
}

LighthouseJobSpec the spec of a pipeline request

func (*LighthouseJobSpec) DeepCopy

func (in *LighthouseJobSpec) DeepCopy() *LighthouseJobSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LighthouseJobSpec.

func (*LighthouseJobSpec) DeepCopyInto

func (in *LighthouseJobSpec) DeepCopyInto(out *LighthouseJobSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*LighthouseJobSpec) GetBranch

func (s *LighthouseJobSpec) GetBranch() string

GetBranch returns the branch name corresponding to the refs on this spec.

func (*LighthouseJobSpec) GetEnvVars

func (s *LighthouseJobSpec) GetEnvVars() map[string]string

GetEnvVars gets a map of the environment variables we'll set in the pipeline for this spec.

type LighthouseJobStatus

type LighthouseJobStatus struct {
	// State is the full state of the job
	State PipelineState `json:"state,omitempty"`
	// ActivityName is the name of the PipelineActivity, PipelineRun, etc associated with this job, if any.
	ActivityName string `json:"activityName,omitempty"`
	// Description is used for the description of the commit status we report.
	Description string `json:"description,omitempty"`
	// ReportURL is the link that will be used in the commit status.
	ReportURL string `json:"reportURL,omitempty"`
	// StartTime is when the job was created.
	StartTime metav1.Time `json:"startTime,omitempty"`
	// CompletionTime is when the job finished reconciling and entered a terminal state.
	CompletionTime *metav1.Time `json:"completionTime,omitempty"`
	// LastReportState is the state from the last time we reported commit status for this job.
	LastReportState string `json:"lastReportState,omitempty"`
	// LastCommitSHA is the commit that will be/has been reported to on the SCM provider
	LastCommitSHA string `json:"lastCommitSHA,omitempty"`
	// Activity is the most recent activity recorded for the pipeline associated with this job.
	Activity *ActivityRecord `json:"activity,omitempty"`
}

LighthouseJobStatus represents the status of a pipeline

func (*LighthouseJobStatus) DeepCopy

func (in *LighthouseJobStatus) DeepCopy() *LighthouseJobStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LighthouseJobStatus.

func (*LighthouseJobStatus) DeepCopyInto

func (in *LighthouseJobStatus) DeepCopyInto(out *LighthouseJobStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Periodic added in v0.0.711

type Periodic struct {
	JobBase

	// (deprecated)Interval to wait between two runs of the job.
	Interval string `json:"interval"`
	// Cron representation of job trigger time
	Cron string `json:"cron"`
	// Tags for config entries
	Tags []string `json:"tags,omitempty"`
	// contains filtered or unexported fields
}

Periodic runs on a timer.

type PipelineState

type PipelineState string

PipelineState specifies the current pipelne status

const (
	// TriggeredState for pipelines that have been triggered
	TriggeredState PipelineState = "triggered"

	// PendingState pipeline is pending
	PendingState PipelineState = "pending"

	// RunningState pipeline is running
	RunningState PipelineState = "running"

	// SuccessState pipeline is successful
	SuccessState PipelineState = "success"

	// FailureState failed
	FailureState PipelineState = "failure"

	// AbortedState aborted
	AbortedState PipelineState = "aborted"
)

Various job types.

type PluginConfig added in v0.0.711

type PluginConfig struct {
	// Plugins the list of plugins
	Plugins []string `json:"plugins,omitempty"`

	// Approve approve plugin configuration
	Approve *Approve `json:"approve,omitempty"`
}

PluginConfig configuration for plugins

type Postsubmit added in v0.0.711

type Postsubmit struct {
	JobBase

	RegexpChangeMatcher

	Brancher

	// TODO(krzyzacy): Move existing `Report` into `SkipReport` once this is deployed
	Reporter
}

Postsubmit runs on push events.

type Presubmit added in v0.0.711

type Presubmit struct {
	JobBase

	// AlwaysRun automatically for every PR, or only when a comment triggers it.
	AlwaysRun bool `json:"alwaysRun"`

	// Optional indicates that the job's status context should not be required for merge.
	Optional bool `json:"optional,omitempty"`

	// Trigger is the regular expression to trigger the job.
	// e.g. `@k8s-bot e2e test this`
	// RerunCommand must also be specified if this field is specified.
	// (Default: `(?m)^/test (?:.*? )?<job name>(?: .*?)?$`)
	Trigger string `json:"trigger,omitempty"`

	// The RerunCommand to give users. Must match Trigger.
	// Trigger must also be specified if this field is specified.
	// (Default: `/test <job name>`)
	RerunCommand string `json:"rerunCommand,omitempty"`

	Brancher

	RegexpChangeMatcher

	Reporter
}

Presubmit runs on PRs.

type Pull

type Pull struct {
	Number int    `json:"number"`
	Author string `json:"author"`
	SHA    string `json:"sha"`
	Title  string `json:"title,omitempty"`

	// Ref is git ref can be checked out for a change
	// for example,
	// github: pull/123/head
	// gerrit: refs/changes/00/123/1
	Ref string `json:"ref,omitempty"`
	// Link links to the pull request itself.
	Link string `json:"link,omitempty"`
	// CommitLink links to the commit identified by the SHA.
	CommitLink string `json:"commit_link,omitempty"`
	// AuthorLink links to the author of the pull request.
	AuthorLink string `json:"author_link,omitempty"`
}

Pull describes a pull request at a particular point in time.

func (*Pull) DeepCopy

func (in *Pull) DeepCopy() *Pull

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Pull.

func (*Pull) DeepCopyInto

func (in *Pull) DeepCopyInto(out *Pull)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Refs

type Refs struct {
	// Org is something like kubernetes or k8s.io
	Org string `json:"org"`
	// Repo is something like test-infra
	Repo string `json:"repo"`
	// RepoLink links to the source for Repo.
	RepoLink string `json:"repo_link,omitempty"`

	BaseRef string `json:"base_ref,omitempty"`
	BaseSHA string `json:"base_sha,omitempty"`
	// BaseLink is a link to the commit identified by BaseSHA.
	BaseLink string `json:"base_link,omitempty"`

	Pulls []Pull `json:"pulls,omitempty"`

	// PathAlias is the location under <root-dir>/src
	// where this repository is cloned. If this is not
	// set, <root-dir>/src/github.com/org/repo will be
	// used as the default.
	PathAlias string `json:"path_alias,omitempty"`
	// CloneURI is the URI that is used to clone the
	// repository. If unset, will default to
	// `https://github.com/org/repo.git`.
	CloneURI string `json:"clone_uri,omitempty"`
	// SkipSubmodules determines if submodules should be
	// cloned when the job is run. Defaults to true.
	SkipSubmodules bool `json:"skip_submodules,omitempty"`
	// CloneDepth is the depth of the clone that will be used.
	// A depth of zero will do a full clone.
	CloneDepth int `json:"clone_depth,omitempty"`
}

Refs describes how the repo was constructed.

func (*Refs) DeepCopy

func (in *Refs) DeepCopy() *Refs

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Refs.

func (*Refs) DeepCopyInto

func (in *Refs) DeepCopyInto(out *Refs)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Refs) String

func (r *Refs) String() string

type RegexpChangeMatcher added in v0.0.711

type RegexpChangeMatcher struct {
	// RunIfChanged defines a regex used to select which subset of file changes should trigger this job.
	// If any file in the changeset matches this regex, the job will be triggered
	RunIfChanged string `json:"runIfChanged,omitempty"`
	// contains filtered or unexported fields
}

RegexpChangeMatcher is for code shared between jobs that run only when certain files are changed.

type Reporter added in v0.0.711

type Reporter struct {
	// Context is the name of the GitHub status context for the job.
	// Defaults: the same as the name of the job.
	Context string `json:"context,omitempty"`
	// SkipReport skips commenting and setting status on GitHub.
	SkipReport bool `json:"skipReport,omitempty"`
}

Reporter keeps various details for status reporting

type RepositoryConfig added in v0.0.711

type RepositoryConfig struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata"`

	// Spec holds the desired state of the RepositoryConfig from the client
	// +optional
	Spec RepositoryConfigSpec `json:"spec"`
}

RepositoryConfig represents local repository configurations

+k8s:openapi-gen=true

type RepositoryConfigList added in v0.0.711

type RepositoryConfigList struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []RepositoryConfig `json:"items"`
}

RepositoryConfigList contains a list of RepositoryConfig

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

type RepositoryConfigSpec added in v0.0.711

type RepositoryConfigSpec struct {
	// Presubmit zero or more presubmits
	Presubmits []Presubmit `json:"presubmits,omitempty"`

	// Postsubmit zero or more postsubmits
	Postsubmits []Postsubmit `json:"postsubmits,omitempty"`

	// Plugins the plugin names to enable for this repository
	Plugins []string `json:"plugins,omitempty"`

	// BranchProtections to configure branch protection
	BranchProtection *config.ContextPolicy `json:"branchProtection,omitempty"`

	// PluginConfig the configuration for the plugins
	PluginConfig *PluginConfig `json:"pluginConfig,omitempty"`

	// Keeper any keeper/tide related configurations
	Keeper *Keeper `json:"keeper,omitempty"`
}

RepositoryConfigSpec defines the desired state of RepositoryConfig.

type UtilityConfig added in v0.0.711

type UtilityConfig struct {
	// Decorate determines if we decorate the PodSpec or not
	Decorate bool `json:"decorate,omitempty"`

	// PathAlias is the location under <root-dir>/src
	// where the repository under test is cloned. If this
	// is not set, <root-dir>/src/github.com/org/repo will
	// be used as the default.
	PathAlias string `json:"pathAlias,omitempty"`
	// CloneURI is the URI that is used to clone the
	// repository. If unset, will default to
	// `https://github.com/org/repo.git`.
	CloneURI string `json:"cloneUri,omitempty"`
	// SkipSubmodules determines if submodules should be
	// cloned when the job is run. Defaults to true.
	SkipSubmodules bool `json:"skipSubmodules,omitempty"`
	// CloneDepth is the depth of the clone that will be used.
	// A depth of zero will do a full clone.
	CloneDepth int `json:"cloneDepth,omitempty"`
}

UtilityConfig holds decoration metadata, such as how to clone and additional containers/etc

Jump to

Keyboard shortcuts

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