- Checking for upcoming EOL dates for supported operating systems
- Informing users of the deprecation and upcoming removal of support
- Informing other internal stakeholders about the deprecation and upcoming removal of support
- Removing support for an operating system
GitLab provides Omnibus packages for operating systems only until their EOL (End-Of-Life). After the EOL date of the OS, GitLab stops releasing official packages. This documentation acts as a guideline for the process involved in deprecating and removing support for an operating system, and how to communicate it to relevant stakeholders, both internal and external to the company.
Slack reminders are configured to remind Distribution team’s Slack channel on the first day of every quarter to check EOL dates of various supported operating systems. Known EOL dates and links to find out the unknown ones are linked from the deprecated OSs page.
Once an OS is found to reach EOL in the upcoming quarter, open an issue to discuss the deprecation/removal timeline for it. Validation should be done to ensure we can provide a path forward for users who might be affected by this - this generally involves ensuring we can build packages for the next version of the OS and that our package repository provider, Packagecloud, supports packages for the new version.
Once the decision has been made to deprecate support for an OS, it should be communicated to users via multiple avenues, including but not limited to:
- In the next and following GitLab release blog posts, until removal.
- At the end of
For adding the deprecation notice to the blog post, ping the Distribution team PM in the issue to open up necessary MRs in the website repo.
For adding a deprecation notice to the end of
gitlab-ctl reconfigure output, add
the OS information to
It is also important other teams, who work closely with customers, are also aware of the deprecation and upcoming removal of support. For this, announce the deprecation in the following Slack channels:
#support_self_managed- Support team catering to our self-managed customers
#customer-success- Customer Success team of our Sales division
Once the EOL date of the operating system have passed, open an MR to the
omnibus-gitlab project removing CI jobs corresponding to the operating system
from the CI configuration - this involves both spec jobs that are run in the
development repository as well
as package build and release jobs that are run in the
Similar to deprecation, ensure to ping the PM and other necessary Slack channels to inform every stakeholder is aware of the removal.
After the last version which supported the OS is out of the maintenance window, open an MR to remove the builder image from the Omnibus Builder project.