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