Merge Request Coach

The main goal of a Merge Request Coach is to help merge requests from the community get merged into GitLab.

Responsibilities

Specialties

We are working on adding the following Merge Request Coach Specialties

  • Development - for changes related to feature and bug fixes.
  • Technical Writing - for changes related to our documentation.
  • Quality - for changes related to our tests and tooling (MR workflow, and pipeline configuration).

Collaboration guidelines

As a Merge Request Coach you will collaborate with people from the wider GitLab community and respond or close their merge requests per need.

Responding to merge requests

With each merge request opened by a wider community member, it’s important to note GitLab is not their main focus. They have contributed to GitLab out of kindness, and we should aim to give them the space they need to fulfill their merge request.

After a merge request from a wider community member has been submitted and you have provided feedback, allow a period of up to two weeks for the community member to continue their work before following up with the community member through a comment in the merge request.

The Danger bot performs many useful activities including reviewer roulette. Merge requests from forks outside GitLab require setup to run it. If this setup is missing, you can run the pipeline yourself and it will use your token. Or spin the roulette manually. Please verify that the merge request contains no abusive changes before doing so.

Dealing with trivial merge requests

Some MRs may not need triaging and as an MR coach you should feel empowered to approve an MR immediately before passing it to the appropriate maintainer(s) for merging if appropriate. Examples of these types of MRs include:

  • MRs where the content is tightly related to your domain knowledge.
  • MRs that include only whitespace or stylistic changes.
  • MRs that resolve ignored Rubocop violations.

Giving a contributor more CI minutes

When a contributor runs out of CI minutes, you can either:

  • Move the MR into the community fork to take advantage of the unlimited CI minutes and many other benefits there.
  • As a GitLab Team member you can run the pipeline for the contributor. This is useful if the MR is close to completion and moving it would not be efficient.

Finishing merge requests

Sometimes a contributor will either become unresponsive or state that they will not be able to finish a merge request. If a Merge Request Coach deems the effort worthwile and has the knowledge and the bandwidth to complete it, they will bring the MR to the finish line instead of closing it.

Steps:

  1. Close the original merge request and say that you will finish it.
  2. Check out the branch locally.
  3. Make sure a changelog git trailer crediting the author exists.
  4. Add your own commits to improve and finish the original work.
  5. Push to a new branch and open a new merge request.

Closing merge requests

Sometimes community contributions become stale or obsolete and changes become no longer relevant or applicable. If the changes are no longer needed, it’s fine to close the merge request whether the author is responsive or not. If there’s an open discussion or questions for the author, allow some time for them to get back to the discussion before closing the merge request.

In all cases, always provide some context on why the merge request is being closed as this can lead to fewer questions later on and create a point for future reference which would be useful for team members and community contributors.

Last but not least, if there’s an opportunity to provide any help or pointers for future contributions try to do that. This could be pointing to code review guidelines, documentation on how to contribute, or getting help while contributing to GitLab.

Closing empty merge requests

Sometimes MRs are opened by wider community contributors by accident with no changes. In this instance close the merge request straight away, without triage labels, with a polite message to the contributor asking them to reopen the merge request once there is something to review. It may be that they intended to open a merge request at some point and we want to ensure that they feel their contribution will be welcomed at an appropriate time.

An example response could be:

1
2
3
4
5
Hi {CONTRIBUTOR_NAME} πŸ‘‹ \
Thanks for contributing to GitLab πŸ™‡ ✨ \
It seems that this MR does not contain any changes πŸ€” \
Because of that I will close this MR but please feel free to reopen if you are still planning to contribute ❀ \
If you have any other questions please don't hesitate and ping me πŸ™‚

More information on the Merge Request Coach role is available in the handbook.

 


About GitLab

GitLab Inc. is a company based on the GitLab open-source project. GitLab is a community project to which over 2,200 people worldwide have contributed. We are an active participant in this community, trying to serve its needs and lead by example. We have one vision: everyone can contribute to all digital content, and our mission is to change all creative work from read-only to read-write so that everyone can contribute.

We value results, transparency, sharing, freedom, efficiency, self-learning, frugality, collaboration, directness, kindness, diversity, inclusion and belonging, boring solutions, and quirkiness. If these values match your personality, work ethic, and personal goals, we encourage you to visit our primer to learn more. Open source is our culture, our way of life, our story, and what makes us truly unique.

Top 10 Reasons to Work for GitLab:

  1. Mission: Everyone can contribute
  2. Results: Fast growth, ambitious vision
  3. Flexible Work Hours: Plan your day so you are there for other people & have time for personal interests
  4. Transparency: Over 2,000 webpages in GitLab handbook, GitLab Unfiltered YouTube channel
  5. Iteration: Empower people to be effective & have an impact, Merge Request rate, We dogfood our own product, Directly responsible individuals
  6. Diversity, Inclusion & Belonging: A focus on gender parity, Team Member Resource Groups, other initiatives
  7. Collaboration: Kindness, saying thanks, intentionally organize informal communication, no ego
  8. Total Rewards: Competitive market rates for compensation, Equity compensation, global benefits (inclusive of office equipment)
  9. Work/Life Harmony: Flexible workday, Family and Friends days
  10. Remote Done Right: One of the world's largest all-remote companies, prolific inventor of remote best practices

See our culture page for more!

Work remotely from anywhere in the world. Curious to see what that looks like? Check out our remote manifesto and guides.