The story of gitlab-mail_room
Summary
gitlab-mail_room
currently has 4 versions floating around:
-
0.0.9
is the version that gitlab-org/gitlab's Gemfile.lock uses: Gemfile.lock#L489. [1] -
0.0.19
is the default in CNG: ci_files/variables.yml#L15 -
0.0.10
is the version that is pinned in k8s-workload: releases/gitlab/values/values.yaml.gotmpl#L1029 -
0.0.18
is the version that Omnibus uses: config/software/mail_room.rb
Setting mailroom version in CNG
-
When tagging an SM release (major, minor, patch), a commit used to be made on the gitlab-org/security/charts/components/images> stable branch (ex: f26f7c25) to set mailroom version to the version in gitlab-org/gitlab's
Gemfile.lock
. This was done by public_release/cng_image_release.rb#L137.-
On Oct 21 2021, we stopped doing this (gitlab-org/release-tools!1592 (merged)) because installation of
gitlab-mail_room
0.0.14 was failing. Since 0.0.14 was failing, gitlab-org/gitlab'sgitlab-mail_room
had to stay at 0.0.9, but the chart needed to use 0.0.14. So we stopped "overriding" the mailroom version in the gitlab-org/security/charts/components/images> stable branch. This is explained in https://docs.gitlab.com/ee/development/emails.html#rationale. -
So now, the gitlab-org/security/charts/components/images> stable branch uses the version of
gitlab-mail_room
set in ci_files/variables.yml#L15 (ex: 14-7-stable/ci_files/variables.yml).
-
-
When tagging an auto deploy release, we do the same. A commit (ex: 65d988e9) is made on the CNG auto deploy branch to set the mailroom version to the version in gitlab-org/gitlab's
Gemfile.lock
. This continues to happen.
Mailroom in release/metadata
-
For auto deploy versions in https://ops.gitlab.net/gitlab-org/release/metadata, there is a
mailroom
entry. Currently, it gets set to0.0.9
. Ex: 14.7.202201040706.json#L53. -
Major, minor and patch release metadata does not contain a
mailroom
entry. Ex: 14.0.0.json, 14.7.0.json, 14.7.2.json.
Questions
- What should be the mailroom version set in gitlab-org/security/charts/components/images> stable and auto deploy branches?
- What should be the mailroom version set in https://ops.gitlab.net/gitlab-org/release/metadata (for autodeploy versions)?
[1]: The version in gitlab-org/gitlab's Gemfile.lock is not actually in use. Omnibus uses its own version of gitlab-mail_room
. The gem is not removed from the Gemfile because it would break compatibility for source installs. See https://docs.gitlab.com/ee/development/emails.html#rationale.