Deprecate and remove support for a supported operating system

GitLab provides Omnibus packages for operating systems (OS) only until their end of life (EOL). After the EOL date of the OS, GitLab stops releasing official packages. The following content documents how to:

  • Deprecate and remove support for an OS.
  • Communicate this information to internal and external stakeholders.

Check for upcoming EOL dates for supported OS

Check supported operating systems to see EOL dates for supported OS.

Slack reminders to check the EOL dates are sent to the Distribution team’s Slack channel on the first day of every quarter.

Tell users of the deprecation and upcoming removal of support

If you find an OS has an EOL date in the upcoming quarter, open an issue to discuss the deprecation and removal timeline. We provide a path forward for users who are affected by this by making sure:

  • We can build packages for the next version of the OS.
  • Our package repository provider, Packagecloud, supports packages for the new version.

After we decide to deprecate support for an OS, we tell affected users through appropriate channels, including:

  • In the next and following GitLab release blog posts, until removal.
  • At the end of gitlab-ctl reconfigure run.

To add the deprecation notice to the blog post, message the Distribution team PM in the issue to open necessary merge requests in the website repository.

To add deprecation notice to the end of gitlab-ctl reconfigure output, add the OS information to the OmnibusHelper#deprecated_os_list.

Tell other internal stakeholders about the deprecation and upcoming removal of support

You must tell customer-facing teams about the deprecation and upcoming removal of support for the OS. Announce the deprecation in the following Slack channels:

  1. #support_self_managed - Support team catering to our self-managed customers.
  2. #customer-success - Customer Success team of our Sales division.

Remove support for an OS

When the OS EOL date has passed, open an merge request to the omnibus-gitlab project to remove CI/CD jobs for that OS from the CI/CD configuration. These jobs include:

Message the PM and all other necessary Slack channels to tell every stakeholder about the removal of support.

When the last version which supported the OS is out of the maintenance window, open an merge request to remove the builder image from the Omnibus Builder project.