What does tide do?

tide is a microservice in Prow and Lighthouse which periodically queries open pull requests on the repositories you have imported into Jenkins X. Then it performs the following logic:

  • if a Pull Request has passed all of its review + CI tests (e.g. its got the approved and/or lgtm labels applied or has passed a github code review) and is green and is based off of master it is automatically merged.
  • if a Pull Request has passed all of its review + CI tests but is not based off of master its pipelines are re-triggered based off of master to ensure the Pull Request will be valid if it were merged.
  • if batching is enabled and there are multiple pending Pull Requests which are approved and green, a batch pipeline is triggered which combines multiple Pull Requests together into a single change - if all those pipelines go green then all the PRs are merged together at once and closed. This greatly speeds up getting multiple Pull Requests merged together (as it avoids re-triggering each PR’s tests after each one is merged).