prow

package
v0.0.1-lastknown Latest Latest
Warning

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

Go to latest
Published: Jan 31, 2020 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Overview

Package prow reads prow and test specs from "k8s.io/test-infra".

Index

Constants

View Source
const (
	// TypePresubmit is the spec type of Kubernetes pre-submit job.
	TypePresubmit = "pre-submit"
	// TypePostsubmit is the spec type of Kubernetes post-submit job.
	TypePostsubmit = "post-submit"
	// TypePeriodic is the spec type of Kubernetes periodic job.
	TypePeriodic = "periodic"
)
View Source
const (
	// ProviderAWS is AWS cloud provider.
	ProviderAWS = "AWS"
	// ProviderGCP is Google cloud provider.
	ProviderGCP = "GCP"
	// ProviderNotCategorized is the provider type that is not categorized yet.
	ProviderNotCategorized = "Not-Categorized"
)

Variables

This section is empty.

Functions

func DownloadJobsUpstream

func DownloadJobsUpstream(lg *zap.Logger) (dir string, paths []string, err error)

DownloadJobsUpstream downloads all Prow configurations from upstream "kubernetes/test-infra".

Types

type Git

type Git struct {
	// URL is the URL of the git repository.
	// (e.g. "https://github.com/kubernetes/kubernetes" for "k8s.io/kubernetes/kubernetes").
	URL string
	// Name is the name of this repository
	// (e.g. "test-infra" for "k8s.io/kubernetes/test-infra").
	Name string
	// Branch is the name of the branch when and where API was requested.
	Branch string
	// CommitSHA is the latest git commit SHA when API was requested.
	CommitSHA string
	// CommitURL is the URL of the original git commit.
	CommitURL string
	// CommitTimeUTC is the time of commit in UTC timezone.
	CommitTimeUTC time.Time
	// CommitTimeSeattle is the time of commit in Seattle timezone.
	CommitTimeSeattle time.Time
}

Git represents the git information.

func FetchGit

func FetchGit(remoteGit, branch string) (git Git, err error)

FetchGit fetches git information from remote git server.

type Job

type Job struct {
	// Type is Presubmit, Postsubmit, or Periodic.
	Type string
	// Group is the test group name.
	Group string
	// Category is the category of each test, used for platform-level aggregation.
	Category string
	// Provider is the testing infra provider.
	Provider string
	// ID is the test name, which is uniquely identifiable in test grid.
	ID string

	// Branches is the list of git branches to run tests with.
	Branches []string
	// Interval is the test run interval for type "Periodic".
	// Otherwise, set to zero.
	Interval time.Duration

	// URL is the original prow configuration path.
	URL string
	// StatusURL is the link to test results dashboard.
	StatusURL string
}

Job represents the testing job information.

There should be 1-to-1 match between GCP and AWS with combination of test category and its provider.

Columns: Type, Group, Category, Provider AWS, Provider GCP, Provider Unknown
Category                                  | Provider AWS                                  | Provider GCP                              | Provider Not-categorized   |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
pull-community-verify                     |                                               |                                           | pull-community-verify      |
pull-cri-containerd-build                 |                                               |                                           | pull-cri-containerd-build  |
pull-federation-bazel-test                |                                               |                                           | pull-federation-bazel-test |
pull-federation-e2e                       | pull-federation-e2e-aws                       | pull-federation-e2e-gce                   |                            |
pull-kubernetes-multicluster-ingress-test | pull-kubernetes-multicluster-ingress-test-aws | pull-kubernetes-multicluster-ingress-test |                            |
pull-kubernetes-e2e-kubeadm               | pull-kubernetes-e2e-kubeadm-aws               | pull-kubernetes-e2e-kubeadm-gce           |                            |
ci-kubernetes-kubemark-500                | ci-kubernetes-kubemark-500-aws                | ci-kubernetes-kubemark-500-gce            |                            |
pull-kubernetes-kubemark-e2e-big          | pull-kubernetes-kubemark-e2e-aws-big          | pull-kubernetes-kubemark-e2e-gce-big      |                            |
pull-kubernetes-e2e                       | pull-kubernetes-e2e-aws                       | pull-kubernetes-e2e-gce                   |                            |
ci-kubernetes-e2e-interconnect            | ci-kubernetes-e2e-aws-TBD-ec2                 | ci-kubernetes-e2e-gci-gce                 |                            |
ci-kubernetes-e2e-interconnect-k8s        | ci-kubernetes-e2e-aws-TBD-eks                 | ci-kubernetes-e2e-gci-gke                 |                            |
ci-kubernetes-e2e-kops                    | ci-kubernetes-e2e-kops-aws                    | ci-kubernetes-e2e-kops-gce                |                            |
ci-kubernetes-e2e-kops-beta               | ci-kubernetes-e2e-kops-aws-beta               | ci-kubernetes-e2e-kops-gce-beta           |                            |
ci-kubernetes-e2e-kops-ha-uswest2         | ci-kubernetes-e2e-kops-aws-ha-uswest2         | ci-kubernetes-e2e-kops-gce-ha-uswest2     |                            |
pull-cluster-api-provider-build           | pull-cluster-api-provider-aws-build           | pull-cluster-api-provider-gcp-build       |                            |
pull-cluster-api-provider-make            | pull-cluster-api-provider-aws-make            | pull-cluster-api-provider-gcp-make        |                            |
pull-cluster-api-provider-test            | pull-cluster-api-provider-aws-test            | pull-cluster-api-provider-gcp-test        |                            |
application-periodic-default              | application-periodic-default-eks              | application-periodic-default-gke          |                            |

type Jobs

type Jobs []Job

Jobs is a list of prow configurations.

func LoadJobs

func LoadJobs(lg *zap.Logger, paths []string) (
	jobs Jobs,
	all map[string]Job,
	categoryToProviderToJob map[string]map[string]Job,
	err error)

LoadJobs fetches all jobs from upstream "k8s.io/test-infra".

func (Jobs) Len

func (ss Jobs) Len() int

func (Jobs) Less

func (ss Jobs) Less(i, j int) bool

in the order of:

  1. pre-submit, category, provider, ID, group
  2. post-submit, category, provider, ID, group
  3. periodic, category, provider, ID, group

func (Jobs) Swap

func (ss Jobs) Swap(i, j int)

Directories

Path Synopsis
Package status implements upstream test status handlers.
Package status implements upstream test status handlers.

Jump to

Keyboard shortcuts

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