Redo internals of Incoming Mail Support
What does this MR do?
Updates mail_room
gem to include require_relative
support (a.k.a. __FILE__
constant pointing to current ERB file).
This will enable some cleanups in omnibus-gitlab
described here: https://gitlab.com/gitlab-org/omnibus-gitlab/issues/1363
Are there points in the code the reviewer needs to double check?
Testing mail_room is always trickier. So make sure you try to initialize mail_room in a similar way we do in production. I've tested initializing it from multiple subpathes inside the project (because I was relying on bundler). When this MR got merged we can test/merge another one that will remove some code from omnibus and will enable us to test the final/production state.
Why was this MR needed?
See https://gitlab.com/gitlab-org/omnibus-gitlab/issues/1363 for length discussion and workarounds we had to do to get both Omnibus and source working.
With this MR we can have single place of truth, that doesn't require omnibus specific patch to the configuration file.
Does this MR meet the acceptance criteria?
-
Changelog entry added -
Documentation created/updated -
API support added - Tests
-
Added for this feature/bug -
All builds are passing
-
-
Conform by the merge request performance guides -
Conform by the style guides -
Branch has no merge conflicts with master
(if it does - rebase it please) -
Squashed related commits together