Switch branches/tags
Nothing to show
Find file History
k8s-ci-robot Merge pull request #10412 from fejta/hook
Create utility to create/edit a github hook
Latest commit b8fd92c Dec 12, 2018
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
apis/prowjobs Add support for error_on_eviction job config field. Nov 27, 2018
artifact-uploader Add sub-labels for prow components Aug 10, 2018
client Update codegen Nov 29, 2018
clonerefs Fix 48 typos. Nov 12, 2018
cluster Bump prow from v20181206-da5a5e4 to v20181207-201eb76 Dec 7, 2018
cmd fix link to Tide readme Dec 10, 2018
commentpruner Run hack/update-bazel.sh Feb 26, 2018
config Prevent tide from crashing when there are no RequiredStatusChecks Dec 1, 2018
crier crier: prevent nil map deref Nov 28, 2018
cron Abstract common Job attributes out into JobMeta Oct 23, 2018
deck Merge remote-tracking branch 'upstream/master' into job-history Oct 30, 2018
docs Fix deck's flag name in pr-status-setup doc Nov 20, 2018
entrypoint prow: Rename BindOptions -> AddFlags Oct 4, 2018
errorutil Fix prow/pod-utils lint errors Jun 26, 2018
external-plugins Remove commented code Nov 27, 2018
flagutil move top level go packages into pkg/ Nov 8, 2018
gcsupload Fix refs in downwardapi & handle metadata.json in finished.json Dec 5, 2018
genfiles Fix 48 typos. Nov 12, 2018
gerrit escape branch names Dec 5, 2018
git More format fixes to allow go 1.11 test to work Oct 3, 2018
github Merge pull request #10412 from fejta/hook Dec 12, 2018
githuboauth OAuth: Handle errors in redirect when passed by GitHub Nov 9, 2018
hook Run hack/update-bazel.sh Dec 3, 2018
initupload prow: Rename BindOptions -> AddFlags Oct 4, 2018
jenkins RegexpChangeMatcher: improved naming and comments Nov 27, 2018
kube Update deps Nov 29, 2018
labels Lazily fetch labels in trustedPullRequest() Oct 29, 2018
logrusutil fix typos issues in prow files Sep 29, 2018
metrics Improve Prow docs (docks?). Nov 1, 2018
phony Add sub-labels for prow components Aug 10, 2018
pjutil Add support for error_on_eviction job config field. Nov 27, 2018
plank Fix refs in downwardapi & handle metadata.json in finished.json Dec 5, 2018
pluginhelp Run hack/update-bazel.sh Feb 26, 2018
plugins Remove logging for no current approvers as this is noise Dec 7, 2018
pod-utils Trim trailing periods on label values Dec 7, 2018
prstatus Update deps Nov 29, 2018
pubsub let pubsub reporter also send the result URL Oct 30, 2018
repoowners Update deps Nov 29, 2018
report add an option for plank to skip report Oct 25, 2018
sidecar encoding/json expects omitempty, not omit_empty Dec 6, 2018
slack Add a token generator to slack client. Jul 30, 2018
spyglass spyglass: fetch pod log for /gcs/ endpoint Dec 6, 2018
statusreconciler Merge pull request #10348 from stevekuznetsov/skuznets/dont-trigger-o… Dec 6, 2018
test Add support for error_on_eviction job config field. Nov 27, 2018
tide RegexpChangeMatcher: improved naming and comments Nov 27, 2018
.gitignore delete splice Sep 24, 2018
ANNOUNCEMENTS.md Merge pull request #10277 from stevekuznetsov/skuznets/auto-mount Nov 29, 2018
BUILD.bazel Merge pull request #10323 from fejta/build Dec 4, 2018
Makefile fix prow image push override Oct 11, 2018
OWNERS Retire Joe from owners Sep 17, 2018
README.md Add links to more Prow users in Prow README. Nov 30, 2018
autobump.sh Always set git name/email when specified Dec 1, 2018
build_test_update.md make bazel rule for mkpj to work for splitted config files Nov 5, 2018
bump.sh Separate push.sh from bump.sh Nov 17, 2018
commands.md Tombstone commands.md files Feb 5, 2018
config.yaml Bump prow from v20181206-da5a5e4 to v20181207-201eb76 Dec 7, 2018
def.bzl Deploy MULTI_KIND objects, objects only once Nov 28, 2018
deploy.sh Confirm human prow deployments Nov 9, 2018
getting_started_deploy.md Improve external cluster and JobBase.Namespace docs Dec 11, 2018
getting_started_develop.md Improve Prow docs (docks?). Nov 1, 2018
jobs.md fix invalid links to plugins in REAME.md Dec 7, 2018
life_of_a_prow_job.md Improve Prow docs (docks?). Nov 1, 2018
more_prow.md Improve Prow docs (docks?). Nov 1, 2018
plugins.yaml Kops - Change it so that "/lgtm" does not imply "/approve" Dec 7, 2018
pod-utilities.md Merge pull request #10305 from alvaroaleman/fix-private-clonerefs-docs Dec 5, 2018
push.sh Separate push.sh from bump.sh Nov 17, 2018
scaling.md Honor the Retry-After header on 403s from GitHub Dec 3, 2018

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

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

Automation and the Kubernetes Contributor Experience SIG Testing Deep Dive

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.