Skip to content
Branch: master
Find file History
Latest commit a7f5e06 Mar 22, 2019
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
apis/prowjobs Use Refs.String() Method to populate Repo data in started Feb 19, 2019
artifact-uploader Updated OWNERS files to include link to docs Jan 30, 2019
client Update codegen Nov 29, 2018
clonerefs Merge pull request #11044 from rlenferink/patch-1 Feb 4, 2019
cluster Bump prow from v20190322-1ad130161 to v20190322-a20dc306f Mar 22, 2019
cmd DRY out the string set flag implemenetation Mar 22, 2019
commentpruner Run hack/update-bazel.sh Feb 26, 2018
config
crier
cron Update bazel for imports Feb 6, 2019
deck
docs
entrypoint Updated OWNERS files to include link to docs Jan 30, 2019
errorutil
external-plugins Github to GitHub Feb 28, 2019
flagutil
gcsupload
genfiles Fix 48 typos. Nov 12, 2018
gerrit
git Don't log at warning level in git client Mar 20, 2019
gitattributes
github Merge pull request #11448 from amwat/gerrit Mar 22, 2019
githuboauth
hook
initupload Make use of record.FinalSHA and overwrite it in started.json Feb 21, 2019
jenkins
kube Ensure local and default contexts are correct Mar 7, 2019
labels Lazily fetch labels in trustedPullRequest() Oct 29, 2018
logrusutil
metrics Improve Prow docs (docks?). Nov 1, 2018
phony Updated OWNERS files to include link to docs Jan 30, 2019
pjutil
plank Merge pull request #11665 from midnightconman/jenkins-operator-defaul… Mar 9, 2019
pluginhelp Github to GitHub Feb 28, 2019
plugins Merge pull request #11448 from amwat/gerrit Mar 22, 2019
pod-utils
prstatus
pubsub
repoowners Github to GitHub Feb 28, 2019
sidecar
slack
spyglass Round the elapsed time to the nearest second. Mar 22, 2019
statusreconciler
test
tide
.gitignore
ANNOUNCEMENTS.md Add an announcement about the Tide history page. Mar 14, 2019
BUILD.bazel
Makefile fix prow image push override Oct 11, 2018
OWNERS Retire Joe from owners Sep 17, 2018
README.md Add new Prow logo. Mar 11, 2019
autobump.sh
build_test_update.md Define environments PROW_CLUSTER_OVERRIDE and BUILD_CLUSTER_OVERRIDE Feb 18, 2019
bump.sh Bump ghproxy, label_sync, branchprotector, and commenter with Prow. Mar 22, 2019
commands.md
config.yaml
def.bzl Create prow_push, use it and prow_image everywhere Feb 21, 2019
deploy.sh Confirm human prow deployments Nov 9, 2018
getting_started_deploy.md Fixed typo in getting_started_deploy. Mar 18, 2019
getting_started_develop.md Improve Prow docs (docks?). Nov 1, 2018
jobs.md Add documentation on triggering behavior to jobs.md Feb 13, 2019
life_of_a_prow_job.md
logo_horizontal_solid.png
more_prow.md Improve Prow docs (docks?). Nov 1, 2018
plugins.yaml
pod-utilities.md
push.sh
scaling.md

README.md

prow logo

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".

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.