Skip to content

About Dolphin's CI Bot

Pringo edited this page Oct 2, 2016 · 2 revisions

@dolphin-emu-bot, aka irrawaddy, aka Dolphin Central is a piece of software that controls interaction between our CI system (Buildbot) and GitHub.

What Does It Do?

  • Automatically builds incoming pull requests authored by trusted developers, and rebuilds on PR updates.
  • Updates PR status based on the CI builds/tests results.
  • Show updates about GitHub activity on Dolphin's IRC channel.
  • Shows updates about outstanding issues on Dolphin's IRC channel.
  • Provides a way for Dolphin maintainers to allow a PR author to merge their PR by themselves.

Reverse PR Approval Workflow

One of the recent additions to @dolphin-emu-bot's features is the ability to make a PR mergeable by its author. The idea behind this feature is to reduce PR review latency by pre-allowing a PR to be merged before it's completely ready. For example, if an otherwise good PR has a typo in documentation, the repo maintainer can comment on this typo asking for a fix, and pre-allow the merge so that the PR author can merge the change themselves after the fix has been applied.

Two commands can be used by Dolphin maintainers in PR comments:

  • @dolphin-emu-bot allowmerge in a comment will show a link that allows the PR author to merge their change.
  • @dolphin-emu-bot disallowmerge can be used to override that decision in a later comment.

The last of these two commands in PR comments will determine the status of the PR (author mergeable or not). Default status is, obviously, unmergeable.

Triggering Rebuilds of a PR from an Untrusted Developer

Just use the @dolphin-emu-bot rebuild command in a PR comment. Be careful that the PR does not contain anything dodgy that might get executed on Dolphin's CI infrastructure.