mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
dev-cmd/bump: skip autobump formulae & casks
Instead output a message that corresponding formula/cask is on the autobump list. This avoids deferring the information to the error message within `bump-{formula,cask}-pr`. Signed-off-by: Michael Cho <michael@michaelcho.dev>
This commit is contained in:
parent
45cd50ba6a
commit
12d1e56ff5
@ -89,19 +89,13 @@ module Homebrew
|
|||||||
odie "This cask is not in a tap!" if cask.tap.blank?
|
odie "This cask is not in a tap!" if cask.tap.blank?
|
||||||
odie "This cask's tap is not a Git repository!" unless cask.tap.git?
|
odie "This cask's tap is not a Git repository!" unless cask.tap.git?
|
||||||
|
|
||||||
if ENV.fetch("HOMEBREW_TEST_BOT_AUTOBUMP", false).blank? &&
|
odie <<~EOS unless cask.tap.allow_bump?(cask.token)
|
||||||
(cask.tap.core_cask_tap? &&
|
|
||||||
(autobump_file_path = cask.tap.path/Tap::HOMEBREW_TAP_AUTOBUMP_FILE) &&
|
|
||||||
autobump_file_path.exist? &&
|
|
||||||
autobump_file_path.readlines(chomp: true).include?(cask.token))
|
|
||||||
odie <<~EOS
|
|
||||||
Whoops, the #{cask.token} cask has its version update
|
Whoops, the #{cask.token} cask has its version update
|
||||||
pull requests automatically opened by BrewTestBot!
|
pull requests automatically opened by BrewTestBot!
|
||||||
We'd still love your contributions, though, so try another one
|
We'd still love your contributions, though, so try another one
|
||||||
that's not in the autobump list:
|
that's not in the autobump list:
|
||||||
#{Formatter.url("#{cask.tap.remote}/blob/master/.github/autobump.txt")}
|
#{Formatter.url("#{cask.tap.remote}/blob/master/.github/autobump.txt")}
|
||||||
EOS
|
EOS
|
||||||
end
|
|
||||||
|
|
||||||
new_version = BumpVersionParser.new(
|
new_version = BumpVersionParser.new(
|
||||||
general: args.version,
|
general: args.version,
|
||||||
|
@ -114,19 +114,13 @@ module Homebrew
|
|||||||
odie "This formula is not in a tap!" if formula.tap.blank?
|
odie "This formula is not in a tap!" if formula.tap.blank?
|
||||||
odie "This formula's tap is not a Git repository!" unless formula.tap.git?
|
odie "This formula's tap is not a Git repository!" unless formula.tap.git?
|
||||||
|
|
||||||
if ENV.fetch("HOMEBREW_TEST_BOT_AUTOBUMP", nil).blank? &&
|
odie <<~EOS unless formula.tap.allow_bump?(formula.name)
|
||||||
(formula.tap.core_tap? &&
|
|
||||||
(autobump_file_path = formula.tap.path/Tap::HOMEBREW_TAP_AUTOBUMP_FILE) &&
|
|
||||||
autobump_file_path.exist? &&
|
|
||||||
autobump_file_path.readlines(chomp: true).include?(formula.name))
|
|
||||||
odie <<~EOS
|
|
||||||
Whoops, the #{formula.name} formula has its version update
|
Whoops, the #{formula.name} formula has its version update
|
||||||
pull requests automatically opened by BrewTestBot!
|
pull requests automatically opened by BrewTestBot!
|
||||||
We'd still love your contributions, though, so try another one
|
We'd still love your contributions, though, so try another one
|
||||||
that's not in the autobump list:
|
that's not in the autobump list:
|
||||||
#{Formatter.url("#{formula.tap.remote}/blob/master/.github/autobump.txt")}
|
#{Formatter.url("#{formula.tap.remote}/blob/master/.github/autobump.txt")}
|
||||||
EOS
|
EOS
|
||||||
end
|
|
||||||
|
|
||||||
formula_spec = formula.stable
|
formula_spec = formula.stable
|
||||||
odie "#{formula}: no stable specification found!" if formula_spec.blank?
|
odie "#{formula}: no stable specification found!" if formula_spec.blank?
|
||||||
|
@ -230,16 +230,20 @@ module Homebrew
|
|||||||
}
|
}
|
||||||
def skip_ineligible_formulae(formula_or_cask)
|
def skip_ineligible_formulae(formula_or_cask)
|
||||||
if formula_or_cask.is_a?(Formula)
|
if formula_or_cask.is_a?(Formula)
|
||||||
return false if !formula_or_cask.disabled? && !formula_or_cask.head_only?
|
skip = formula_or_cask.disabled? || formula_or_cask.head_only?
|
||||||
|
|
||||||
name = formula_or_cask.name
|
name = formula_or_cask.name
|
||||||
text = "Formula is #{formula_or_cask.disabled? ? "disabled" : "HEAD-only"}.\n"
|
text = "Formula is #{formula_or_cask.disabled? ? "disabled" : "HEAD-only"}.\n"
|
||||||
else
|
else
|
||||||
return false unless formula_or_cask.disabled?
|
skip = formula_or_cask.disabled?
|
||||||
|
|
||||||
name = formula_or_cask.token
|
name = formula_or_cask.token
|
||||||
text = "Cask is disabled.\n"
|
text = "Cask is disabled.\n"
|
||||||
end
|
end
|
||||||
|
unless formula_or_cask.tap.allow_bump?(name)
|
||||||
|
skip = true
|
||||||
|
text = "#{text.split.first} is on autobump list.\n"
|
||||||
|
end
|
||||||
|
return false unless skip
|
||||||
|
|
||||||
ohai name
|
ohai name
|
||||||
puts text
|
puts text
|
||||||
true
|
true
|
||||||
|
@ -847,6 +847,22 @@ class Tap
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Array with autobump names
|
||||||
|
sig { returns(T::Array[String]) }
|
||||||
|
def autobump
|
||||||
|
@autobump ||= if (autobump_file = path/HOMEBREW_TAP_AUTOBUMP_FILE).file?
|
||||||
|
autobump_file.readlines(chomp: true)
|
||||||
|
else
|
||||||
|
[]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# Whether this {Tap} allows running bump commands on the given {Formula} or {Cask}.
|
||||||
|
sig { params(formula_or_cask_name: String).returns(T::Boolean) }
|
||||||
|
def allow_bump?(formula_or_cask_name)
|
||||||
|
ENV["HOMEBREW_TEST_BOT_AUTOBUMP"].present? || !official? || autobump.exclude?(formula_or_cask_name)
|
||||||
|
end
|
||||||
|
|
||||||
# Hash with audit exceptions
|
# Hash with audit exceptions
|
||||||
sig { returns(Hash) }
|
sig { returns(Hash) }
|
||||||
def audit_exceptions
|
def audit_exceptions
|
||||||
@ -1161,6 +1177,15 @@ class CoreTap < AbstractCoreTap
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# @private
|
||||||
|
sig { returns(T::Array[String]) }
|
||||||
|
def autobump
|
||||||
|
@autobump ||= begin
|
||||||
|
ensure_installed!
|
||||||
|
super
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
# @private
|
# @private
|
||||||
sig { returns(Hash) }
|
sig { returns(Hash) }
|
||||||
def audit_exceptions
|
def audit_exceptions
|
||||||
|
Loading…
x
Reference in New Issue
Block a user