Skip to content
Snippets Groups Projects
Unverified Commit afa5713e authored by Mike McQuaid's avatar Mike McQuaid
Browse files

audit: cleanup prerelease detection.

parent 5578845e
No related branches found
No related tags found
No related merge requests found
......@@ -777,7 +777,7 @@ module Homebrew
.split(".", 3)
.map(&:to_i)
case stable.url
case (url = stable.url)
when /[\d\._-](alpha|beta|rc\d)/
matched = Regexp.last_match(1)
version_prefix = stable_version_string.sub(/\d+$/, "")
......@@ -795,16 +795,23 @@ module Homebrew
return if stable_url_minor_version.even?
problem "#{stable.version} is a development release"
when %r{^https://github.com/}
owner = stable.url.match(%r{https://github.com/(.*?)(/)})[1]
tag = stable.url.match(%r{https://github.com/.*(download|archive)/(\D*(\d*.){2}\d*)})[2]
when %r{^https://github.com/([\w-]+)/([\w-]+)/}
owner = Regexp.last_match(1)
repo = Regexp.last_match(2)
tag = url.match(%r{^https://github\.com/[\w-]+/[\w-]+/archive/([^/]+)\.(tar\.gz|zip)$})
.to_a
.second
tag ||= url.match(%r{^https://github\.com/[\w-]+/[\w-]+/releases/download/([^/]+)/})
.to_a
.second
begin
if GitHub.open_api("#{GitHub::API_URL}/repos/#{owner}/#{stable.full_name}/releases/tags/#{tag}")\
["prerelease"]
problem "#{tag} is a GitHub prerelease"
if (release = GitHub.open_api("#{GitHub::API_URL}/repos/#{owner}/#{repo}/releases/tags/#{tag}"))
problem "#{tag} is a GitHub prerelease" if release["prerelease"]
end
rescue GitHub::HTTPNotFoundError => e
opoo e.message
rescue GitHub::HTTPNotFoundError
# No-op if we can't find the release.
nil
end
end
end
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment