From 7ad7834b15ff5ac2ec3e1fa34ca81ae8d61de093 Mon Sep 17 00:00:00 2001 From: Issy Long Date: Fri, 12 Jun 2020 15:51:43 +0100 Subject: [PATCH] audit: Supress pre-release audits for known pre-release formulae - This safelists one formula that has only ever shipped pre-releases, from before we had the GitHub pre-release audit. So it won't fail CI and cause maintainers more work to determine if it's always been that way, or if it's new. Then, we don't have to keep comments at the top of files to say so for the next contributors. - We should check this list from time to time to make sure that the formulae here have graduated to actual releases and we can remove them. --- Library/Homebrew/dev-cmd/audit.rb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Library/Homebrew/dev-cmd/audit.rb b/Library/Homebrew/dev-cmd/audit.rb index 25f3bba70a..aade8065e9 100644 --- a/Library/Homebrew/dev-cmd/audit.rb +++ b/Library/Homebrew/dev-cmd/audit.rb @@ -597,6 +597,8 @@ module Homebrew "libepoxy" => "1.5", }.freeze + GITHUB_PRERELEASE_ALLOWLIST = %w[cake].freeze + # version_prefix = stable_version_string.sub(/\d+$/, "") # version_prefix = stable_version_string.split(".")[0..1].join(".") @@ -705,8 +707,11 @@ module Homebrew begin if @online && (release = GitHub.open_api("#{GitHub::API_URL}/repos/#{owner}/#{repo}/releases/tags/#{tag}")) - problem "#{tag} is a GitHub prerelease" if release["prerelease"] - problem "#{tag} is a GitHub draft" if release["draft"] + if release["prerelease"] && !GITHUB_PRERELEASE_ALLOWLIST.include?(formula.name) + problem "#{tag} is a GitHub prerelease" + elsif release["draft"] + problem "#{tag} is a GitHub draft" + end end rescue GitHub::HTTPNotFoundError # No-op if we can't find the release.