Make the block optional for delete_stopped_environments
What does this MR do and why?
Closes #386711 (closed)
This call to delete_stopped_environments
(https://gitlab.com/gitlab-org/gitlab/-/blob/99c0f9c15de5beac07382ddf44a4bdee8d29ceb0/scripts/review_apps/automated_cleanup.rb#L141) does not pass a block, and the method uses yield
. It crashed recently in #386711 (closed).
The chosen fix is to make the block optional.
Sidenote: It means that we've never successfully cleaned up a GitLab docs environment for a little while.
How to set up and validate locally
Before
irb(main):001:1* def simpler_delete_stopped_environments
irb(main):002:1* yield 'Hello'
irb(main):003:0> end
=> :simpler_delete_stopped_environments
irb(main):004:1* simpler_delete_stopped_environments do |environment|
irb(main):005:1* puts environment
irb(main):006:0> end
Hello
=> nil
irb(main):007:0> simpler_delete_stopped_environments
Traceback (most recent call last):
20: from /Users/gitlab/.asdf/installs/ruby/2.7.7/bin/irb:25:in `<main>'
19: from /Users/gitlab/.asdf/installs/ruby/2.7.7/bin/irb:25:in `load'
18: from /Users/gitlab/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/irb-1.6.1/exe/irb:11:in `<top (required)>'
1: from (irb):7:in `<main>'
(irb):2:in `simpler_delete_stopped_environments': no block given (yield) (LocalJumpError)
After
irb(main):001:1* def simpler_delete_stopped_environments
irb(main):002:1* yield 'Hello' if block_given?
irb(main):003:0> end
=> :simpler_delete_stopped_environments
irb(main):004:1* simpler_delete_stopped_environments do |environment|
irb(main):005:1* puts environment
irb(main):006:0> end
Hello
=> nil
irb(main):007:0> simpler_delete_stopped_environments
=> nil
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.