123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- /*
- Copyright 2018 The Kubernetes Authors.
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- */
- package kube
- import (
- "k8s.io/test-infra/prow/apis/prowjobs/v1"
- )
- // The following are aliases to aid in the refactoring while we move
- // API definitions under prow/apis/
- // ProwJobType specifies how the job is triggered.
- type ProwJobType = v1.ProwJobType
- // ProwJobState specifies whether the job is running
- type ProwJobState = v1.ProwJobState
- // ProwJobAgent specifies the controller (such as plank or jenkins-agent) that runs the job.
- type ProwJobAgent = v1.ProwJobAgent
- // Various job types.
- const (
- // PresubmitJob means it runs on unmerged PRs.
- PresubmitJob = v1.PresubmitJob
- // PostsubmitJob means it runs on each new commit.
- PostsubmitJob = v1.PostsubmitJob
- // Periodic job means it runs on a time-basis, unrelated to git changes.
- PeriodicJob = v1.PeriodicJob
- // BatchJob tests multiple unmerged PRs at the same time.
- BatchJob = v1.BatchJob
- )
- // Various job states.
- const (
- // TriggeredState means the job has been created but not yet scheduled.
- TriggeredState = v1.TriggeredState
- // PendingState means the job is scheduled but not yet running.
- PendingState = v1.PendingState
- // SuccessState means the job completed without error (exit 0)
- SuccessState = v1.SuccessState
- // FailureState means the job completed with errors (exit non-zero)
- FailureState = v1.FailureState
- // AbortedState means prow killed the job early (new commit pushed, perhaps).
- AbortedState = v1.AbortedState
- // ErrorState means the job could not schedule (bad config, perhaps).
- ErrorState = v1.ErrorState
- )
- const (
- // KubernetesAgent means prow will create a pod to run this job.
- KubernetesAgent = v1.KubernetesAgent
- // JenkinsAgent means prow will schedule the job on jenkins.
- JenkinsAgent = v1.JenkinsAgent
- )
- const (
- // CreatedByProw is added on pods created by prow. We cannot
- // really use owner references because pods may reside on a
- // different namespace from the namespace parent prowjobs
- // live and that would cause the k8s garbage collector to
- // identify those prow pods as orphans and delete them
- // instantly.
- // TODO: Namespace this label.
- CreatedByProw = "created-by-prow"
- // ProwJobTypeLabel is added in pods created by prow and
- // carries the job type (presubmit, postsubmit, periodic, batch)
- // that the pod is running.
- ProwJobTypeLabel = "prow.k8s.io/type"
- // ProwJobIDLabel is added in pods created by prow and
- // carries the ID of the ProwJob that the pod is fulfilling.
- // We also name pods after the ProwJob that spawned them but
- // this allows for multiple resources to be linked to one
- // ProwJob.
- ProwJobIDLabel = "prow.k8s.io/id"
- // ProwJobAnnotation is added in pods created by prow and
- // carries the name of the job that the pod is running. Since
- // job names can be arbitrarily long, this is added as
- // an annotation instead of a label.
- ProwJobAnnotation = "prow.k8s.io/job"
- // OrgLabel is added in resources created by prow and
- // carries the org associated with the job, eg kubernetes-sigs.
- OrgLabel = "prow.k8s.io/refs.org"
- // RepoLabel is added in resources created by prow and
- // carries the repo associated with the job, eg test-infra
- RepoLabel = "prow.k8s.io/refs.repo"
- // PullLabel is added in resources created by prow and
- // carries the PR number associated with the job, eg 321.
- PullLabel = "prow.k8s.io/refs.pull"
- )
- // ProwJob contains the spec as well as runtime metadata.
- type ProwJob = v1.ProwJob
- // ProwJobSpec configures the details of the prow job.
- //
- // Details include the podspec, code to clone, the cluster it runs
- // any child jobs, concurrency limitations, etc.
- type ProwJobSpec = v1.ProwJobSpec
- // DecorationConfig specifies how to augment pods.
- //
- // This is primarily used to provide automatic integration with gubernator
- // and testgrid.
- type DecorationConfig = v1.DecorationConfig
- // UtilityImages holds pull specs for the utility images
- // to be used for a job
- type UtilityImages = v1.UtilityImages
- // PathStrategy specifies minutia about how to contruct the url.
- // Usually consumed by gubernator/testgrid.
- const (
- PathStrategyLegacy = v1.PathStrategyLegacy
- PathStrategySingle = v1.PathStrategySingle
- PathStrategyExplicit = v1.PathStrategyExplicit
- )
- // GCSConfiguration holds options for pushing logs and
- // artifacts to GCS from a job.
- type GCSConfiguration = v1.GCSConfiguration
- // ProwJobStatus provides runtime metadata, such as when it finished, whether it is running, etc.
- type ProwJobStatus = v1.ProwJobStatus
- // Pull describes a pull request at a particular point in time.
- type Pull = v1.Pull
- // Refs describes how the repo was constructed.
- type Refs = v1.Refs
|