Skip to content
Branch: master
Find file History
k8s-ci-robot Merge pull request #15488 from alvaroaleman/inrepoconfig-validation-a…

Config defaulting and validation: Aggregate errors
Latest commit 36670de Dec 5, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
apis/prowjobs Merge pull request #15251 from droslean/oauth-clonerefs Nov 26, 2019
artifact-uploader Remove old k8s client from "artifact-uploader" Sep 17, 2019
bugzilla hook: bugzilla: don't error when external bug already linked Dec 2, 2019
client Update generated files Sep 25, 2019
clonerefs add oauth token in clonerefs run Nov 25, 2019
cluster Update prow to v20191204-d7993c80e, and other images as necessary. Dec 4, 2019
cmd Merge pull request #15473 from idealhack/prow/deck/reverse-job-histor… Dec 4, 2019
commentpruner Refactor BUILD.bazel rules to use external not vendor Aug 22, 2019
config Config defaulting and validation: Aggregate errors Dec 5, 2019
crier add more crier logs for debugging Sep 23, 2019
cron Refactor BUILD.bazel rules to use external not vendor Aug 22, 2019
deck Reduce "JobAgent.update" to one sort operation Oct 22, 2019
docs Update GitHub OAuth docs Aug 16, 2019
entrypoint Entrypoint: Write command start error to log Oct 25, 2019
errorutil Fix prow/pod-utils lint errors Jun 26, 2018
external-plugins git: remove redundant argument in push Dec 3, 2019
flagutil Merge pull request #15279 from hongkailiu/cleanup Nov 21, 2019
gcsupload Removing more TestGrid code from test-infra. Sep 17, 2019
genfiles Fix 48 typos. Nov 12, 2018
gerrit Remove pointers to maps. Oct 22, 2019
git git: store org and repo separately in a repo client Dec 4, 2019
gitattributes remove usage of test_owners Oct 17, 2019
github Merge pull request #15151 from petr-muller/repobolos-missing-fields Nov 26, 2019
githuboauth prow/githuboauth: move prow/config/github to prow/githuboauth Nov 18, 2019
hook Make Prow aware of the rest of the "issues" events' actions. Nov 7, 2019
initupload Record repo version from main configured refs May 31, 2019
interrupts fix golint failures Nov 24, 2019
jenkins Rename config.Presubmits to PresubmitsStatic Oct 18, 2019
kube Fix namespace label in kube metrics Oct 8, 2019
labels Add a plugin to enforce valid links to Bugzilla bugs Jun 4, 2019
logrusutil Revert "Merge pull request #15320 from stevekuznetsov/skuznets/github… Nov 26, 2019
metrics Make prow/metrics compatible with prometheus/client_golang v1.0.0 Oct 23, 2019
phony Updated OWNERS files to include link to docs Jan 30, 2019
pjutil allow orgs to be used to authorize rerun Nov 25, 2019
plank Plank: continue to sync on failure to list PJs in build cluster Nov 9, 2019
pluginhelp Revert "Merge pull request #15010 from ibrasho-forks/fix-ineffectual-… Nov 12, 2019
plugins Merge pull request #15444 from alvaroaleman/inrepoconfig-validation Dec 3, 2019
pod-utils update bazel Nov 25, 2019
prstatus prow/githuboauth: move prow/config/github to prow/githuboauth Nov 18, 2019
pubsub Fix udpating of env and add a test to check for it. Oct 24, 2019
repoowners git: don't ask users to concatenate repo identifiers Dec 3, 2019
sidecar Refactor BUILD.bazel rules to use external not vendor Aug 22, 2019
simplifypath Move the path simplification library into its own package Sep 19, 2019
slack Call "GetSlackReporter" in Crier slack reporter to get correct config Nov 13, 2019
spyglass Support nested metadata in the Spyglass metadata lens. Nov 11, 2019
statusreconciler Rename config.Presubmits to PresubmitsStatic Oct 18, 2019
test Add more rerun checks, remove redundant type Jul 31, 2019
tide Tide status controller: get baseSHA if not available Dec 3, 2019
.gitignore Make general and k8s specific versions of Jul 30, 2019 Fix boskos metrics service, use new URI path, and document break. Nov 21, 2019
BUILD.bazel Revert "Merge pull request #15320 from stevekuznetsov/skuznets/github… Nov 26, 2019
Makefile fix prow image push override Oct 11, 2018
OWNERS Make alvaroaleman approver in /prow Nov 27, 2019 Mention sequence diagram in hyperlink text Nov 6, 2019 Fix pj-on-kind docs. Nov 7, 2019 Automatically bump robots/issue-creator image Aug 13, 2019
cip-manifest.yaml Add a container image promoter manifest and job for Prow. Oct 3, 2019
def.bzl Revert "Merge pull request #15320 from stevekuznetsov/skuznets/github… Nov 26, 2019 Add alertmanager into prow-monitoring Jul 17, 2019 Add a script for creating a TestGrid config uploader SA and secret. Sep 17, 2019 Updates docs on pod-utilities image configuration Nov 26, 2019 Improve Prow docs (docks?). Nov 1, 2018 Fix typo Nov 5, 2019 updated documentation Aug 23, 2019
logo_horizontal_solid.png Add new Prow logo. Mar 11, 2019 Improve Prow development docs a bit. Apr 18, 2019 prepare pj-on-kind for kind v0.6.0 Nov 13, 2019 add workdir information in pod-utilities document Jul 17, 2019 Retry pushing prow images Mar 5, 2019 Honor the Retry-After header on 403s from GitHub Dec 3, 2018


Prow is a Kubernetes based CI/CD system. Jobs can be triggered by various types of events and report their status to many different services. In addition to job execution, Prow provides GitHub automation in the form of policy enforcement, chat-ops via /foo style commands, and automatic PR merging.

See the GoDoc for library docs. Please note that these libraries are intended for use by prow only, and we do not make any attempt to preserve backwards compatibility.

For a brief overview of how Prow runs jobs take a look at "Life of a Prow Job".

To see common Prow usage and interactions flow, see the pull request interactions sequence diagram.

Functions and Features

  • Job execution for testing, batch processing, artifact publishing.
    • GitHub events are used to trigger post-PR-merge (postsubmit) jobs and on-PR-update (presubmit) jobs.
    • Support for multiple execution platforms and source code review sites.
  • Pluggable GitHub bot automation that implements /foo style commands and enforces configured policies/processes.
  • GitHub merge automation with batch testing logic.
  • Front end for viewing jobs, merge queue status, dynamically generated help information, and more.
  • Automatic deployment of source control based config.
  • Automatic GitHub org/repo administration configured in source control.
  • Designed for multi-org scale with dozens of repositories. (The Kubernetes Prow instance uses only 1 GitHub bot token!)
  • High availability as benefit of running on Kubernetes. (replication, load balancing, rolling updates...)
  • JSON structured logs.
  • Prometheus metrics.


Getting started

More details

Useful Talks

KubeCon 2018 EU

KubeCon 2018 China

KubeCon 2018 Seattle


Prow in the wild

Prow is used by the following organizations and projects:

Jenkins X uses Prow as part of Serverless Jenkins.

Contact us

If you need to contact the maintainers of Prow you have a few options:

  1. Open an issue in the kubernetes/test-infra repo.
  2. Reach out to the #prow channel of the Kubernetes Slack.
  3. Contact one of the code owners in prow/OWNERS or in a more specifically scoped OWNERS file.

Bots home

@k8s-ci-robot lives here and is the face of the Kubernetes Prow instance. Here is a command list for interacting with @k8s-ci-robot and other Prow bots.

You can’t perform that action at this time.