GitLab Process

This document outlines the processes for supporting the Mattermost package in GitLab Omnibus.

Merge Requests

To submit a merge request (MR) to GitLab for taking the next Mattermost version, follow these steps. The MR must be merged by the 7th of the month to be included in a GitLab release.

  1. Check out the latest version of GitLab Omnibus and make a branch with the following changes:

  2. Build GitLab and test it locally following these steps.

  3. Submit a MR to the master branch of Gitlab, including a summary of updates in Team Edition that are relevant to GitLab

  4. Post a link to the MR in the Release Discussion channel.

  5. Check daily for updates until the MR is merged, ensuring it gets merged by the 7th of the month.

  6. Once the MR is merged and included in an RC, test upgrade following these steps.

If the release contains a security update, PM owner emails @marin and @briann in GitLab with a link to the MR, and all subsequent backports.


The following steps are taken to test the Mattermost package before each merge request to GitLab Omnibus:

  1. Pull the latest master build of GitLab Omnibus, using the nightly Omnibus packages.

  2. Update default_version and md5 variables for the new Mattermost version in config/softwater/mattermost.rb.

name 'mattermost'
default_version '5.19.0-rc2'

source url: "{version}/mattermost-team-#{version}-linux-amd64.tar.gz",
md5: 'fe49d764324334480b296fc6c500b706'
  1. Update the list of Mattermost versions associated with each GitLab release in the GitLab documentation, and add a changelog entry.

  2. Build GitLab Omnibus using these instructions.

  3. Install the generated .deb file on a local test server.

The Mattermost team then tests the upgrade process and validates the packaging code and OAuth setup which have historically been the main source of issues. Other test areas include:

  • Pre-provisioning OAuth configuration automatically on the Omnibus package.

  • Mattermost ChatOps slash command integration.

  • OAuth team creation option in GitLab Omnibus.

Upgrade Process

Follow these steps to test the upgrade process for Mattermost in GitLab Omnibus.

The current test servers are located at:

The root admin account for them has username root and password Password1.

  1. Connect to the previously configured instance using the key you used to set it up. The host name is

  2. Make sure your package manager is configured to allow for Gitlab RCs:

  • Go to

  • Click on the newest release candidate that’s marked CE and is for Ubuntu/Trusty.

  • Run the first command listed on that page on your server. It looks something like:

    curl -s | sudo bash
  1. Update the package manager

sudo apt-get update
  1. Update GitLab by running the second command listed on the page you opened on step 2. It looks something like:

    sudo apt-get install gitlab-ce=8.10.0-rc13.ce.0
  2. Reconfigure GitLab:

sudo gitlab-ctl reconfigure
  1. Restart GitLab:

sudo gitlab-ctl restart
  1. To confirm the upgrade was successful:

To help with debugging, including a list of useful commands, see the support handbook.

Service-Level Agreement (SLA)

Mattermost has created a mattermost-support account in GitLab for support issues, and has subscribed to the mattermost label in the following projects:

When a mattermost label is applied, an email notification is sent to the technical support team who answers the question within two business days using the mattermost-support account.

GitLab Premier Support Issues

GitLab has a 4-hour support window for their premier support customers and Mattermost has set up a process to support this window.

When a premier support issue requires escalation to the Mattermost support team, GitLab assigns the issue to the mattermost-support account. This assignment sends an email notification, which is automatically escalated to the critical level technical support who answers the question within 4 hours using the mattermost-support account.

Monthly Meetings

Changes and features affecting GitLab Omnibus are communicated via GitLab issues and GitLab Slack channel.

Moreover, a recurring monthly meeting between a product manager at GitLab and Mattermost is organized to cover

  • concerns/issues from GitLab Omnibus team,

  • new upcoming changes or features in Mattermost affecting GitLab Omnibus, and

  • other miscellaneous queued items.

Optionally, an engineer from both GitLab and Mattermost teams also joins the meeting.


GitLab announcement proposal

Proposed update for new version of [Mattermost](

### GitLab Mattermost 4.7

GitLab 10.6 includes [Mattermost 4.7](, an [open source Slack-alternative]( whose newest release includes enhanced image preview and thumbnails, faster load times, upgraded desktop app, plus much more.

This version also includes [security updates]( and upgrading is recommended.