Engineering

Communication

On this page

GitLab Repositories

GitLab consists of many subprojects. A curated list of GitLab Repositories can be found at the GitLab Engineering Projects page.

When adding a repository please follow these steps:

  1. Ensure the project is under the gitlab-org namespace for anything related to the application or gitlab-com for anything strictly company related.
  2. Add the project to the list of GitLab Repositories
  3. Add MIT license to the repository. See MIT License Example.
  4. Add Contribution Guide. See Contribution Example, and be sure to refer to the Contributor License Agreements for individuals and corporations.
  5. Add link to CONTRIBUTING.md from the project's README.md

Engineering Groups

Collaboration

To maintain our rapid cadence of shipping a new release every month, we must keep the barrier low to getting things done. Since our team is distributed around the world and therefore working at different times, we need to work in parallel and asynchronously as much as possible.

That also means that if you are implementing a new feature, you should feel empowered to work on the entire stack if it is most efficient for you to do so.

Code quality and standards

We need to maintain code quality and standards. It's very important that you are familiar with the Development Guides in general, and the ones that relates to your group in particular:

Code Reviews

Code reviews are mandatory for every merge request, you should get familiar and follow our Code Review Guidelines.

Developers on Support Team Rotation

See the fix4all description.

Release Managers

The release-tools repository contains useful information about the responsibilities and tasks performed by a release manager. Here is the upcoming and current list of release managers.

Because of the volume of work required to get a release out the door, there will be two primary release managers:

  1. One in the America time zones
  2. One in Europe/Middle East/Africa (EMEA) or Asia Pacific (APAC)

Trained release managers, one in Americas and one on EMEA/APAC, will ultimately be in charge of making sure the release candidates (RCs) get created and deployed.