[Mesa-dev] Merge bot ("Marge") enabled

Eric Anholt eric at anholt.net
Fri Dec 13 21:35:56 UTC 2019


I finally got back around to experimenting with the gitlab merge bot,
and it turns out that the day I spent a few weeks back I had actually
given up 5 minutes before the finish line.

Marge is now enabled for mesa/mesa, piglit, and parallel-deqp-runner.
How you interact with marge:

- Collect your reviews
- Put reviewed-by tags in your commits
- When you would have clicked "Merge when pipeline succeeds" (or,
worse, rebase and then merge when pipeline succeeds), instead edit the
assignee of the MR (top right panel of the UI) and assign to Marge Bot
- Marge will eventually take your MR, rebase it and let the pipeline run.
- If the pipeline passes, Marge will merge it
- If the pipeline fails, Marge will note it in the logs and unassign
herself (so your next push with a "fix" won't get auto-merged until
you decide to again).

In the commit logs of the commits that Marge rebased (they'll always
be rebased), you'll get:

Part-of: <https://gitlab.freedesktop.org/anholt/gitlab-experiments/merge_requests/3>

In the final commit of that MR, you'll get:

Tested-by: Marge Bot
<https://gitlab.freedesktop.org/anholt/gitlab-experiments/merge_requests/3>

I feel like this is a major improvement to our workflow, in terms of
linking commits directly to their discussions without indirecting
through google.

Note that one Marge instance will only process one MR at a time, so we
could end up backed up.  There's a mode that will form merge trains,
but I don't understand that mode enough yet to trust it. I think for
Mesa at this point this is going to be fine, as we should still be
able to push tens of MRs through per day.  As we scale up, we may find
that we need a separate Marge for piglit and other projects, which I
should be able to set up reasonably at this point.

Once we settle in with Marge and learn to trust our robot overlords,
I'll update the contributor docs to direct people to Marge instead of
the "merge when pipeline succeeds" button.  I'm also hoping that once
our commit logs are full of links to discussions, we can drop the
mandatory squashing of r-b tags into commit messages and thus make our
process even easier for new contributors.


More information about the mesa-dev mailing list