aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/cmd/test-bot.rb20
1 files changed, 19 insertions, 1 deletions
diff --git a/Library/Homebrew/cmd/test-bot.rb b/Library/Homebrew/cmd/test-bot.rb
index 1d7458a6d..857ae5631 100644
--- a/Library/Homebrew/cmd/test-bot.rb
+++ b/Library/Homebrew/cmd/test-bot.rb
@@ -27,6 +27,7 @@ require 'date'
require 'rexml/document'
require 'rexml/xmldecl'
require 'rexml/cdata'
+require 'cmd/tap'
module Homebrew
EMAIL_SUBJECT_FILE = "brew-test-bot.#{MacOS.cat}.email.txt"
@@ -425,6 +426,15 @@ module Homebrew
install_args = %w[--verbose]
install_args << "--build-bottle" unless ARGV.include? "--no-bottle"
install_args << "--HEAD" if ARGV.include? "--HEAD"
+
+ # Pass --devel or --HEAD to install in the event formulae lack stable. Supports devel-only/head-only.
+ # head-only should not have devel, but devel-only can have head. Stable can have all three.
+ if devel_only_tap? formula
+ install_args << "--devel"
+ elsif head_only_tap? formula
+ install_args << "--HEAD"
+ end
+
install_args << formula_name
# Don't care about e.g. bottle failures for dependencies.
ENV["HOMEBREW_DEVELOPER"] = nil
@@ -471,7 +481,7 @@ module Homebrew
test "brew", "uninstall", "--force", formula_name
end
- if formula.devel && !ARGV.include?('--HEAD') \
+ if formula.devel && formula.stable? && !ARGV.include?('--HEAD') \
&& satisfied_requirements?(formula, :devel)
test "brew", "fetch", "--retry", "--devel", *formula_fetch_options
test "brew", "install", "--devel", "--verbose", formula_name
@@ -572,6 +582,14 @@ module Homebrew
changed_formulae + unchanged_formulae
end
+ def head_only_tap? formula
+ formula.head && formula.devel.nil? && formula.stable.nil? && formula.tap == "homebrew/homebrew-head-only"
+ end
+
+ def devel_only_tap? formula
+ formula.devel && formula.stable.nil? && formula.tap == "homebrew/homebrew-devel-only"
+ end
+
def run
cleanup_before
download