Skip to content
Branch: master
Find file History
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
apis/prowjobs Merge pull request #13480 from mirandachrist/teams Jul 18, 2019
artifact-uploader Updated OWNERS files to include link to docs Jan 30, 2019
bugzilla Update Bugzilla Bug state when linked PRs merge Jul 10, 2019
client Update kube dependencies and codegen to 1.14 Jul 13, 2019
clonerefs Merge pull request #11044 from rlenferink/patch-1 Feb 4, 2019
cluster Update prow to v20190719-1ba5e4866, and other images as necessary. Jul 19, 2019
cmd Update prow to v20190719-1ba5e4866, and other images as necessary. Jul 19, 2019
commentpruner Run hack/update-bazel.sh Feb 26, 2018
config Merge pull request #13480 from mirandachrist/teams Jul 18, 2019
crier Fixups due to 1.14 kube dependency Jul 13, 2019
cron Update bazel for imports Feb 6, 2019
deck Add link to display prow job YAML on Spyglass Jun 8, 2019
docs Update pr_status_setup.md Jun 12, 2019
entrypoint Updated OWNERS files to include link to docs Jan 30, 2019
errorutil Fix prow/pod-utils lint errors Jun 26, 2018
external-plugins cherrypicker: allow cherry-pick in command Jun 25, 2019
flagutil Log information at info level Jul 1, 2019
gcsupload prow/apis/prowjobs/v1: Add GCSConfiguration.MediaTypes May 21, 2019
genfiles Fix 48 typos. Nov 12, 2018
gerrit Change NewProwJob to NewProwJobWithAnnotations in each place it is ca… Jun 28, 2019
git prow plugin to block merge commits in a PR Apr 1, 2019
gitattributes Use top level .gitattributes in size computation Jan 25, 2019
github trim leading @ from logins when normalizing in github client Jul 9, 2019
githuboauth Add CSRF protection to deck Jul 16, 2019
hook Expose the size of updated ConfigMaps via metrics Jul 10, 2019
initupload Record repo version from main configured refs May 31, 2019
jenkins Extends tests with annotations Jun 28, 2019
kube Track job identifiers for transition metrics Jun 18, 2019
labels Add a plugin to enforce valid links to Bugzilla bugs Jun 4, 2019
logrusutil Add Init func to set Logrus formatter Jun 8, 2019
metrics Add option to enable/disable metrics serving Jun 14, 2019
phony Updated OWNERS files to include link to docs Jan 30, 2019
pjutil Add rerun permissions specification to job config Jul 18, 2019
plank Add unit test Jul 15, 2019
pluginhelp Github to GitHub Feb 28, 2019
plugins Merge pull request #12460 from nikhita/fix-verify-owners Jul 18, 2019
pod-utils add the ability to choose the working dir from different ref for the … Jul 16, 2019
prstatus Extract an interface from existing GitHub client and use it throughou… May 17, 2019
pubsub Change NewProwJob to NewProwJobWithAnnotations in each place it is ca… Jun 28, 2019
repoowners Merge pull request #12460 from nikhita/fix-verify-owners Jul 18, 2019
sidecar backfill data in started.json Feb 15, 2019
slack Crier/Slack: Allow to overwrite the channel on the job Jun 17, 2019
spyglass Merge pull request #13478 from Katharine/spyglass-docs Jul 16, 2019
statusreconciler Merge pull request #12700 from ccojocar/refactor-git-interface May 21, 2019
test Make decoration_config timeout and graceperiod parse and serialize to… Apr 18, 2019
tide Change NewProwJob to NewProwJobWithAnnotations in each place it is ca… Jun 28, 2019
.gitignore Update .gitignore to include all Prow's go binaries. Mar 21, 2019
ANNOUNCEMENTS.md Partially remove the default for --cookie-secret-file. Jul 19, 2019
BUILD.bazel Refactor the path prow/cluster/monitoring in code Jul 12, 2019
Makefile fix prow image push override Oct 11, 2018
OWNERS Add alvaroaleman as prow reviewer Jun 21, 2019
README.md Add projects to Prow user list Jul 10, 2019
build_test_update.md Phaino Documentation Improvements Jun 20, 2019
bump.sh Bump ghproxy, label_sync, branchprotector, and commenter with Prow. Mar 22, 2019
config.yaml Update prow to v20190719-1ba5e4866, and other images as necessary. Jul 19, 2019
def.bzl Revert multirun on deployment Jul 12, 2019
deploy.sh Add alertmanager into prow-monitoring Jul 17, 2019
getting_started_deploy.md fix markdown link to Next Steps Jun 26, 2019
getting_started_develop.md Improve Prow docs (docks?). Nov 1, 2018
jobs.md Fix kuberentes typos Jul 3, 2019
life_of_a_prow_job.md Extract an interface from existing GitHub client and use it throughou… May 17, 2019
logo_horizontal_solid.png Add new Prow logo. Mar 11, 2019
more_prow.md Improve Prow development docs a bit. Apr 18, 2019
plugins.yaml Enable blockade plugin for k/release Jul 12, 2019
pod-utilities.md add workdir information in pod-utilities document Jul 17, 2019
push.sh Retry pushing prow images Mar 5, 2019
scaling.md Honor the Retry-After header on 403s from GitHub Dec 3, 2018

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

For a sequence diagram of common usage and interactions flow, click here.

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.