rubocop: check for closed issues in comments

This commit is contained in:
Sean Molenaar 2023-01-03 10:45:32 +01:00
parent 37cc59f206
commit f7dda488ac
No known key found for this signature in database
GPG Key ID: AAC1C7E1A4696A9A
2 changed files with 24 additions and 0 deletions

View File

@ -816,6 +816,26 @@ module Homebrew
end
end
def audit_github_issue_comment
return unless @online
matches = text.to_s.scan(%r{https://github.com/([-\w_]*)/([-\w_]*)/(pull|issues)/([0-9]*)})
return unless matches
matches.each do |match|
owner, repo, type, id = match
# Do not trigger for self references
next if "#{owner}/#{repo}" == formula.tap.remote_repo || owner == "Homebrew"
issue = GitHub::API.open_rest("https://api.github.com/repos/#{owner}/#{repo}/issues/#{id}")
next if issue.blank? || issue["state"] == "open"
issue_url = "https://github.com/#{owner}/#{repo}/#{type}/#{id}"
problem "Formula refers to a GitHub issue or pull request that is closed: #{issue_url}"
end
end
def audit_reverse_migration
# Only enforce for new formula being re-added to core
return unless @strict

View File

@ -27,6 +27,10 @@ module Homebrew
@text.include? s
end
def to_s
@text
end
def line_number(regex, skip = 0)
index = @lines.drop(skip).index { |line| line =~ regex }
index ? index + 1 : nil