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.