audit: cleanup shared audit exception handling
This commit is contained in:
parent
ec4fe89a94
commit
da29827a87
@ -64,16 +64,16 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
list = list.keys if list.is_a? Hash
|
list = list.keys if list.is_a? Hash
|
||||||
invalid_formulae = list.select do |formula_or_cask_name|
|
invalid_formulae_casks = list.select do |formula_or_cask_name|
|
||||||
@formula_names.exclude?(formula_or_cask_name) && @cask_tokens.exclude?("#{@name}/#{formula_or_cask_name}")
|
@formula_names.exclude?(formula_or_cask_name) && @cask_tokens.exclude?("#{@name}/#{formula_or_cask_name}")
|
||||||
end
|
end
|
||||||
|
|
||||||
return if invalid_formulae.empty?
|
return if invalid_formulae_casks.empty?
|
||||||
|
|
||||||
problem <<~EOS
|
problem <<~EOS
|
||||||
#{list_file}.json references
|
#{list_file}.json references
|
||||||
formulae or casks that are not found in the #{@name} tap.
|
formulae or casks that are not found in the #{@name} tap.
|
||||||
Invalid formulae or casks: #{invalid_formulae.join(", ")}
|
Invalid formulae or casks: #{invalid_formulae_casks.join(", ")}
|
||||||
EOS
|
EOS
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -35,25 +35,15 @@ module SharedAudits
|
|||||||
release = github_release_data(user, repo, tag)
|
release = github_release_data(user, repo, tag)
|
||||||
return unless release
|
return unless release
|
||||||
|
|
||||||
if !release["prerelease"] && cask && tap_audit_exception(:github_prerelease_allowlist, cask.tap, cask.token)
|
exception, name, version = if formula
|
||||||
return "#{tag} is not a GitHub pre-release but cask '#{cask.token}' is in the GitHub prerelease allowlist."
|
[tap_audit_exception(:github_prerelease_allowlist, formula.tap, formula.name), formula.name, formula.version]
|
||||||
|
elsif cask
|
||||||
|
[tap_audit_exception(:github_prerelease_allowlist, cask.tap, cask.token), cask.token, cask.version]
|
||||||
end
|
end
|
||||||
|
|
||||||
if release["prerelease"]
|
return "#{tag} is a GitHub pre-release." if release["prerelease"] && [version, "all"].exclude?(exception)
|
||||||
exception = if formula
|
|
||||||
tap_audit_exception(:github_prerelease_allowlist, formula.tap, formula.name)
|
|
||||||
elsif cask
|
|
||||||
tap_audit_exception(:github_prerelease_allowlist, cask.tap, cask.token)
|
|
||||||
end
|
|
||||||
version = if formula
|
|
||||||
formula.version
|
|
||||||
elsif cask
|
|
||||||
cask.version
|
|
||||||
end
|
|
||||||
return if exception && [version, "all"].include?(exception)
|
|
||||||
|
|
||||||
return "#{tag} is a GitHub pre-release."
|
return "#{tag} is not a GitHub pre-release but '#{name}' is in the GitHub prerelease allowlist." if exception
|
||||||
end
|
|
||||||
|
|
||||||
return "#{tag} is a GitHub draft." if release["draft"]
|
return "#{tag} is a GitHub draft." if release["draft"]
|
||||||
end
|
end
|
||||||
@ -83,17 +73,12 @@ module SharedAudits
|
|||||||
|
|
||||||
return if Date.parse(release["released_at"]) <= Date.today
|
return if Date.parse(release["released_at"]) <= Date.today
|
||||||
|
|
||||||
exception = if formula
|
exception, version = if formula
|
||||||
tap_audit_exception(:gitlab_prerelease_allowlist, formula.tap, formula.name)
|
[tap_audit_exception(:gitlab_prerelease_allowlist, formula.tap, formula.name), formula.version]
|
||||||
elsif cask
|
elsif cask
|
||||||
tap_audit_exception(:gitlab_prerelease_allowlist, cask.tap, cask.token)
|
[tap_audit_exception(:gitlab_prerelease_allowlist, cask.tap, cask.token), cask.version]
|
||||||
end
|
end
|
||||||
version = if formula
|
return if [version, "all"].include?(exception)
|
||||||
formula.version
|
|
||||||
elsif cask
|
|
||||||
cask.version
|
|
||||||
end
|
|
||||||
return if exception && [version, "all"].include?(exception)
|
|
||||||
|
|
||||||
"#{tag} is a GitLab pre-release."
|
"#{tag} is a GitLab pre-release."
|
||||||
end
|
end
|
||||||
@ -189,7 +174,7 @@ module SharedAudits
|
|||||||
when Array
|
when Array
|
||||||
list.include? formula_or_cask
|
list.include? formula_or_cask
|
||||||
when Hash
|
when Hash
|
||||||
return false unless list.include? formula_or_cask
|
return false if list.exclude? formula_or_cask
|
||||||
return list[formula_or_cask] if value.blank?
|
return list[formula_or_cask] if value.blank?
|
||||||
|
|
||||||
list[formula_or_cask] == value
|
list[formula_or_cask] == value
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user