Add rubocop rule to use Gitlab::Popen for popen3
What does this MR do?
Rubocop rule
Adds a rubocop rule to use Gitlab::Popen
instead of popen3
. Our Popen
module contains methods that wrap Open3.popen3
in a way that avoids deadlocks.
Code change
Change one instance in our Rails app which was susceptible to a deadlock from using Open3.popen3
to Gitlab::Popen.popen_with_detail
.
Documentation change
Developer documentation added for the Gitlab::Popen
module methods.
What are the relevant issue numbers?
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/62255
Does this MR meet the acceptance criteria?
-
Documentation created/updated via this MR -
Documentation reviewed by technical writer or follow-up review issue created -
Tests added for this feature/bug -
Conforms to the code review guidelines -
Conforms to the merge request performance guidelines -
Conforms to the style guides -
Conforms to the database guides
Edited by Nick Thomas