github.com/munnerz/test-infra@v0.0.0-20190108210205-ce3d181dc989/prow/cmd/tide/README.md (about) 1 # Tide 2 3 Tide is a [Prow](https://github.com/kubernetes/test-infra/blob/master/prow/README.md) 4 component for managing a pool of GitHub PRs that match a given set of criteria. 5 It will automatically retest PRs that meet the criteria ("tide comes in") and automatically merge 6 them when they have up-to-date passing test results ("tide goes out"). 7 8 [Open Issues](https://github.com/kubernetes/test-infra/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+label%3Aarea%2Fprow%2Ftide) 9 10 ## Documentation 11 - [I JUST WANT MY PR TO MERGE!](/prow/cmd/tide/pr-authors.md) 12 - [Configuring Tide](/prow/cmd/tide/config.md) 13 - [Maintainer's Guide](/prow/cmd/tide/maintainers.md) 14 15 16 ## Features 17 - Automatically runs batch tests and merges multiple PRs together whenever possible. 18 - Ensures that PRs are tested against the most recent base branch commit before they are allowed to merge. 19 - Maintains a GitHub status context that indicates if each PR is in a pool or what requirements are missing. 20 - Supports blocking merge to individual branches or whole repos using specifically labelled GitHub issues. 21 - Exposes Prometheus metrics. 22 - Supports repos that have 'optional' status contexts that shouldn't be required for merge. 23 - Serves live data about current actions and pools which can be consumed by [Deck](/prow/cmd/deck) to populate the Tide dashboard and the PR dashboard. 24 - Scales efficiently so that a single instance with a single bot token can provide merge automation to dozens of orgs and repos with unique merge criteria. Every distinct 'org/repo:branch' combination defines a disjoint merge pool so that merges only affect other PRs in the same branch. 25 - Provides configurable merge modes ('merge', 'squash', or 'rebase'). 26 27 28 ## History 29 30 Tide was created in 2017 by @spxtr to replace [Mungegithub's](/mungegithub) Submit Queue. It was designed to manage a large number of repositories across organizations without using many API rate limit tokens by identifying mergeable PRs with GitHub search queries fulfilled by GitHub's v4 GraphQL API.