Add SharedAudits::gitlab_release.

This commit is contained in:
Markus Reiter 2020-09-05 06:07:55 +02:00
parent 39f0784108
commit 1858dab31f
3 changed files with 17 additions and 11 deletions

View File

@ -481,10 +481,8 @@ module Cask
odebug "Auditing GitLab prerelease"
metadata = SharedAudits.gitlab_release_data(user, repo, cask.version)
return if metadata.nil?
add_error "#{cask.version} is a GitLab prerelease" if Date.parse(metadata["released_at"]) > Date.today
error = SharedAudits.gitlab_release(user, repo, cask.version)
add_error error if error
end
def check_github_repository_archived

View File

@ -701,8 +701,6 @@ module Homebrew
"libepoxy" => "1.5",
}.freeze
GITLAB_PRERELEASE_ALLOWLIST = {}.freeze
# version_prefix = stable_version_string.sub(/\d+$/, "")
# version_prefix = stable.version.major_minor
@ -786,11 +784,9 @@ module Homebrew
owner = Regexp.last_match(1)
repo = Regexp.last_match(2)
return unless @online && (release = SharedAudits.gitlab_release_data(owner, repo, stable.version))
release_date = Date.parse(release["released_at"])
if release_date > Date.today && (GITLAB_PRERELEASE_ALLOWLIST[formula.name] != formula.version)
problem "#{stable.version} is a GitLab prerelease"
if @online
error = SharedAudits.gitlab_release(owner, repo, stable.version, formula: formula)
problem error if error
end
when %r{^https://github.com/([\w-]+)/([\w-]+)}
owner = Regexp.last_match(1)

View File

@ -84,6 +84,18 @@ module SharedAudits
@gitlab_release_data[id]
end
GITLAB_PRERELEASE_ALLOWLIST = {}.freeze
def gitlab_release(user, repo, tag, formula: nil)
release = gitlab_release_data(user, repo, tag)
return unless release
return if Date.parse(release["released_at"]) <= Date.today
return if formula && GITLAB_PRERELEASE_ALLOWLIST[formula.name] == formula.version
"#{tag} is a GitLab pre-release."
end
def github(user, repo)
metadata = github_repo_data(user, repo)