Skip to content
Branch: master
Find file History

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
apis/prowjobs Hook: Abort jobs for closed PRs Mar 27, 2020
bugzilla fix verify-owners failures Mar 27, 2020
client Generate a tektoncd clientset Mar 5, 2020
clonerefs backfill missing reviewers from approvers Mar 26, 2020
cluster Merge pull request #16972 from BenTheElder/please-review-your-things Mar 27, 2020
cmd Merge pull request #16994 from alvaroaleman/always-allow-cancelattions Mar 27, 2020
commentpruner
config Remove the deprecated allow_cancellations option Mar 27, 2020
crier backfill missing reviewers from approvers Mar 26, 2020
cron Refactor BUILD.bazel rules to use external not vendor Aug 22, 2019
deck
docs Update GitHub OAuth docs Aug 16, 2019
entrypoint backfill missing reviewers from approvers Mar 26, 2020
errorutil
external-plugins backfill missing reviewers from approvers Mar 26, 2020
flagutil Make Prow's GH client warn if ghProxy is not being used. Mar 13, 2020
gcsupload backfill missing reviewers from approvers Mar 26, 2020
genfiles Fix 48 typos. Nov 12, 2018
gerrit backfill missing reviewers from approvers Mar 26, 2020
git git: duplicate all tests using v2 client Feb 13, 2020
gitattributes remove usage of test_owners Oct 17, 2019
github Revert "Merge pull request #16875 from stevekuznetsov/skuznets/github… Mar 20, 2020
githuboauth prow/githuboauth: move prow/config/github to prow/githuboauth Nov 18, 2019
hook hook: allow for plugin-specific user agents Mar 14, 2020
initupload backfill missing reviewers from approvers Mar 26, 2020
interrupts Decouple metrics_test from a specific port Mar 5, 2020
jenkins Remove the deprecated allow_cancellations option Mar 27, 2020
kube Revert "Merge pull request #16996 from stevekuznetsov/skuznets/cluste… Mar 27, 2020
labels Add a plugin to enforce valid links to Bugzilla bugs Jun 4, 2019
logrusutil Revert "Merge pull request #15403 from stevekuznetsov/skuznets/revert… Mar 13, 2020
metrics Decouple metrics_test from a specific port Mar 5, 2020
phony Updated OWNERS files to include link to docs Jan 30, 2019
pipeline Generate a tektoncd clientset Mar 5, 2020
pjutil Plank and Jenkins agent: Handle aborted jobs Mar 27, 2020
plank Remove the deprecated allow_cancellations option Mar 27, 2020
pluginhelp Use config.OrgRepo in prow/tide and prow/config Feb 20, 2020
plugins Make verify-owners limit trusted user checks. Mar 27, 2020
pod-utils backfill missing reviewers from approvers Mar 26, 2020
prstatus
pubsub Move more reporters under crier Jan 22, 2020
repoowners Repoowners: Minimize global lock usage Mar 22, 2020
sidecar backfill missing reviewers from approvers Mar 26, 2020
simplifypath
slack handle Slack API not using HTTP status codes Mar 24, 2020
spyglass
statusreconciler
test Deck: configurable rerun Mar 12, 2020
tide Make Tide validate the requested merge method against the allowed met… Mar 11, 2020
version
.gitignore Remove artifact-uploader Mar 5, 2020
ANNOUNCEMENTS.md Remove the deprecated allow_cancellations option Mar 27, 2020
BUILD.bazel Revert "Merge pull request #15403 from stevekuznetsov/skuznets/revert… Mar 13, 2020
Makefile Remove artifact-uploader Mar 5, 2020
OWNERS Make alvaroaleman approver in /prow Nov 27, 2019
README.md Add Feast to Prow project list Dec 27, 2019
build_test_update.md Fix pj-on-kind docs. Nov 7, 2019
bump.sh 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
deploy.sh Add alertmanager into prow-monitoring Jul 17, 2019
gcloud-deployer-service-account.sh Add a script for creating a TestGrid config uploader SA and secret. Sep 17, 2019
getting_started_deploy.md Fix markdown rendering for numbered list Dec 6, 2019
getting_started_develop.md Improve Prow docs (docks?). Nov 1, 2018
inrepoconfig.md inrepo postsubmits Jan 10, 2020
jobs.md Prow: set CI env variable Dec 11, 2019
life_of_a_prow_job.md updated documentation Aug 23, 2019
logo_horizontal_solid.png Add new Prow logo. Mar 11, 2019
more_prow.md Improve docs about Prow self-CD. Feb 12, 2020
pj-on-kind.sh Bump the installed version of kind for pj-on-kind.sh Feb 26, 2020
playbook.md stub in prow playbook Dec 5, 2019
pod-utilities.md add workdir information in pod-utilities document Jul 17, 2019
push.sh Prepare utilities for workload identity Jan 11, 2020
scaling.md Improve docs about Prow self-CD. Feb 12, 2020

README.md

Prow

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.

Documentation

Getting started

More details

Useful Talks

KubeCon 2018 EU

KubeCon 2018 China

KubeCon 2018 Seattle

Misc

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.