9fc9ab2ba2
This class encapsulates our use of the Danger gem.
36 lines
908 B
Ruby
36 lines
908 B
Ruby
GEMFILE_LOCK_NOT_UPDATED_MESSAGE_SHORT = <<~MSG.freeze
|
|
%<gemfile>s was updated but %<gemfile_lock>s wasn't updated.
|
|
MSG
|
|
|
|
GEMFILE_LOCK_NOT_UPDATED_MESSAGE_FULL = <<~MSG.freeze
|
|
**#{GEMFILE_LOCK_NOT_UPDATED_MESSAGE_SHORT}**
|
|
|
|
Usually, when %<gemfile>s is updated, you should run
|
|
```
|
|
bundle install
|
|
```
|
|
|
|
or
|
|
|
|
```
|
|
bundle update <the-added-or-updated-gem>
|
|
```
|
|
|
|
and commit the %<gemfile_lock>s changes.
|
|
MSG
|
|
|
|
gemfile_modified = git.modified_files.include?("Gemfile")
|
|
gemfile_lock_modified = git.modified_files.include?("Gemfile.lock")
|
|
|
|
if gemfile_modified && !gemfile_lock_modified
|
|
gitlab_danger = GitlabDanger.new(helper.gitlab_helper)
|
|
|
|
format_str = gitlab_danger.ci? ? GEMFILE_LOCK_NOT_UPDATED_MESSAGE_FULL : GEMFILE_LOCK_NOT_UPDATED_MESSAGE_SHORT
|
|
|
|
message = format(format_str,
|
|
gemfile: gitlab_danger.html_link("Gemfile"),
|
|
gemfile_lock: gitlab_danger.html_link("Gemfile.lock")
|
|
)
|
|
|
|
warn(message)
|
|
end
|