Merge pull request #8615 from reitermarkus/audit-gitlab-release
Add `SharedAudits::gitlab_release`.
This commit is contained in:
commit
daeec79b9f
@ -481,10 +481,8 @@ module Cask
|
|||||||
|
|
||||||
odebug "Auditing GitLab prerelease"
|
odebug "Auditing GitLab prerelease"
|
||||||
|
|
||||||
metadata = SharedAudits.gitlab_release_data(user, repo, cask.version)
|
error = SharedAudits.gitlab_release(user, repo, cask.version)
|
||||||
return if metadata.nil?
|
add_error error if error
|
||||||
|
|
||||||
add_error "#{cask.version} is a GitLab prerelease" if Date.parse(metadata["released_at"]) > Date.today
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def check_github_repository_archived
|
def check_github_repository_archived
|
||||||
|
|||||||
@ -701,8 +701,6 @@ module Homebrew
|
|||||||
"libepoxy" => "1.5",
|
"libepoxy" => "1.5",
|
||||||
}.freeze
|
}.freeze
|
||||||
|
|
||||||
GITLAB_PRERELEASE_ALLOWLIST = {}.freeze
|
|
||||||
|
|
||||||
# version_prefix = stable_version_string.sub(/\d+$/, "")
|
# version_prefix = stable_version_string.sub(/\d+$/, "")
|
||||||
# version_prefix = stable.version.major_minor
|
# version_prefix = stable.version.major_minor
|
||||||
|
|
||||||
@ -786,11 +784,15 @@ module Homebrew
|
|||||||
owner = Regexp.last_match(1)
|
owner = Regexp.last_match(1)
|
||||||
repo = Regexp.last_match(2)
|
repo = Regexp.last_match(2)
|
||||||
|
|
||||||
return unless @online && (release = SharedAudits.gitlab_release_data(owner, repo, stable.version))
|
tag = url.match(%r{^https://gitlab\.com/[\w-]+/[\w-]+/-/archive/([^/]+)/})
|
||||||
|
.to_a
|
||||||
|
.second
|
||||||
|
tag ||= stable.specs[:tag]
|
||||||
|
tag ||= stable.version
|
||||||
|
|
||||||
release_date = Date.parse(release["released_at"])
|
if @online
|
||||||
if release_date > Date.today && (GITLAB_PRERELEASE_ALLOWLIST[formula.name] != formula.version)
|
error = SharedAudits.gitlab_release(owner, repo, tag, formula: formula)
|
||||||
problem "#{stable.version} is a GitLab prerelease"
|
problem error if error
|
||||||
end
|
end
|
||||||
when %r{^https://github.com/([\w-]+)/([\w-]+)}
|
when %r{^https://github.com/([\w-]+)/([\w-]+)}
|
||||||
owner = Regexp.last_match(1)
|
owner = Regexp.last_match(1)
|
||||||
|
|||||||
@ -84,6 +84,18 @@ module SharedAudits
|
|||||||
@gitlab_release_data[id]
|
@gitlab_release_data[id]
|
||||||
end
|
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)
|
def github(user, repo)
|
||||||
metadata = github_repo_data(user, repo)
|
metadata = github_repo_data(user, repo)
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user