From 7b336ed8cd3eb20461fdc45ce67e5318e53920c4 Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Tue, 4 Apr 2023 08:49:27 +0100 Subject: [PATCH] Revert "Split prof gems into their own group" --- .github/workflows/tests.yml | 12 ++++++------ Library/Homebrew/Gemfile | 11 ++++------- Library/Homebrew/dev-cmd/install-bundler-gems.rb | 9 ++------- Library/Homebrew/dev-cmd/prof.rb | 6 ++++-- Library/Homebrew/dev-cmd/tests.rb | 2 +- Library/Homebrew/dev-cmd/vendor-gems.rb | 2 +- Library/Homebrew/utils/gems.rb | 5 ----- 7 files changed, 18 insertions(+), 29 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 0383948512..a84a85dff9 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -38,7 +38,7 @@ jobs: restore-keys: ${{ runner.os }}-rubygems- - name: Install Bundler RubyGems - run: brew install-bundler-gems --groups=all + run: brew install-bundler-gems --groups=sorbet - name: Install shellcheck and shfmt run: brew install shellcheck shfmt @@ -80,7 +80,7 @@ jobs: restore-keys: ${{ runner.os }}-rubygems- - name: Install Bundler RubyGems - run: brew install-bundler-gems --groups=all + run: brew install-bundler-gems --groups=sorbet - name: Run brew style on homebrew-core run: brew style --display-cop-names homebrew/core @@ -142,7 +142,7 @@ jobs: restore-keys: ${{ runner.os }}-rubygems- - name: Install Bundler RubyGems - run: brew install-bundler-gems --groups=all + run: brew install-bundler-gems --groups=sorbet - name: Set up the homebrew/core tap run: brew tap homebrew/core @@ -173,7 +173,7 @@ jobs: restore-keys: ${{ runner.os }}-rubygems- - name: Install Bundler RubyGems - run: brew install-bundler-gems --groups=all + run: brew install-bundler-gems --groups=sorbet - name: Set up Homebrew all cask taps run: | @@ -209,7 +209,7 @@ jobs: # Can't cache this because we need to check that it doesn't fail the # "uncommitted RubyGems" step with a cold cache. - name: Install Bundler RubyGems - run: brew install-bundler-gems --groups=all + run: brew install-bundler-gems --groups=sorbet - name: Check for uncommitted RubyGems working-directory: ${{ steps.set-up-homebrew.outputs.repository-path }} @@ -318,7 +318,7 @@ jobs: restore-keys: ${{ runner.os }}-rubygems- - name: Install Bundler RubyGems - run: brew install-bundler-gems --groups=all + run: brew install-bundler-gems --groups=sorbet - name: Create parallel test log directory run: mkdir tests diff --git a/Library/Homebrew/Gemfile b/Library/Homebrew/Gemfile index 99200a97c7..66660c553f 100644 --- a/Library/Homebrew/Gemfile +++ b/Library/Homebrew/Gemfile @@ -27,8 +27,12 @@ gem "rspec-retry", require: false gem "rspec-sorbet", require: false gem "rubocop", require: false gem "rubocop-ast", require: false +# NOTE: ruby-prof v1.4.3 is the last version that supports Ruby 2.6.x +# TODO: remove explicit version when HOMEBREW_REQUIRED_RUBY_VERSION >= 2.7 +gem "ruby-prof", "1.4.3", require: false gem "simplecov", require: false gem "simplecov-cobertura", require: false +gem "stackprof", require: false gem "warning", require: false group :sorbet, optional: true do @@ -38,13 +42,6 @@ group :sorbet, optional: true do gem "tapioca", require: false end -group :prof, optional: true do - # NOTE: ruby-prof v1.4.3 is the last version that supports Ruby 2.6.x - # TODO: remove explicit version when HOMEBREW_REQUIRED_RUBY_VERSION >= 2.7 - gem "ruby-prof", "1.4.3", require: false - gem "stackprof", require: false -end - # vendored gems gem "activesupport" gem "addressable" diff --git a/Library/Homebrew/dev-cmd/install-bundler-gems.rb b/Library/Homebrew/dev-cmd/install-bundler-gems.rb index 7d5377da05..1f71a39fc8 100644 --- a/Library/Homebrew/dev-cmd/install-bundler-gems.rb +++ b/Library/Homebrew/dev-cmd/install-bundler-gems.rb @@ -24,14 +24,9 @@ module Homebrew def install_bundler_gems args = install_bundler_gems_args.parse - groups = args.groups - # Clear previous settings. We want to fully replace - not append. - Homebrew::Settings.delete(:gemgroups) if groups + Homebrew::Settings.delete(:gemgroups) if args.groups - groups ||= [] - groups |= VALID_GEM_GROUPS if groups.delete("all") - - Homebrew.install_bundler_gems!(groups: groups) + Homebrew.install_bundler_gems!(groups: args.groups || []) end end diff --git a/Library/Homebrew/dev-cmd/prof.rb b/Library/Homebrew/dev-cmd/prof.rb index 04bbc62079..42b14123d2 100644 --- a/Library/Homebrew/dev-cmd/prof.rb +++ b/Library/Homebrew/dev-cmd/prof.rb @@ -24,8 +24,6 @@ module Homebrew def prof args = prof_args.parse - Homebrew.install_bundler_gems!(groups: ["prof"]) - brew_rb = (HOMEBREW_LIBRARY_PATH/"brew.rb").resolved_path FileUtils.mkdir_p "prof" cmd = args.named.first @@ -43,12 +41,16 @@ module Homebrew end if args.stackprof? + # Already installed from Gemfile but use this to setup PATH and LOADPATH + Homebrew.install_gem_setup_path! "stackprof" with_env HOMEBREW_STACKPROF: "1" do system(*HOMEBREW_RUBY_EXEC_ARGS, brew_rb, *args.named) end output_filename = "prof/d3-flamegraph.html" safe_system "stackprof --d3-flamegraph prof/stackprof.dump > #{output_filename}" else + # Already installed from Gemfile but use this to setup PATH and LOADPATH + Homebrew.install_gem_setup_path! "ruby-prof" output_filename = "prof/call_stack.html" safe_system "ruby-prof", "--printer=call_stack", "--file=#{output_filename}", brew_rb, "--", *args.named end diff --git a/Library/Homebrew/dev-cmd/tests.rb b/Library/Homebrew/dev-cmd/tests.rb index fb1e8f3c19..d432f174aa 100644 --- a/Library/Homebrew/dev-cmd/tests.rb +++ b/Library/Homebrew/dev-cmd/tests.rb @@ -88,7 +88,7 @@ module Homebrew def tests args = tests_args.parse - Homebrew.install_bundler_gems!(groups: ["prof"]) + Homebrew.install_bundler_gems! require "byebug" if args.byebug? diff --git a/Library/Homebrew/dev-cmd/vendor-gems.rb b/Library/Homebrew/dev-cmd/vendor-gems.rb index 14d402836d..b6b4c8da2e 100644 --- a/Library/Homebrew/dev-cmd/vendor-gems.rb +++ b/Library/Homebrew/dev-cmd/vendor-gems.rb @@ -30,7 +30,7 @@ module Homebrew Homebrew.install_bundler! - ENV["BUNDLE_WITH"] = VALID_GEM_GROUPS.join(":") + ENV["BUNDLE_WITH"] = "sorbet" # System Ruby does not pick up the correct SDK by default. ENV["SDKROOT"] = MacOS.sdk_path if ENV["HOMEBREW_MACOS_SYSTEM_RUBY_NEW_ENOUGH"] diff --git a/Library/Homebrew/utils/gems.rb b/Library/Homebrew/utils/gems.rb index 626b9f0408..603bec116d 100644 --- a/Library/Homebrew/utils/gems.rb +++ b/Library/Homebrew/utils/gems.rb @@ -12,8 +12,6 @@ module Homebrew # After updating this, run `brew vendor-gems --update=--bundler`. HOMEBREW_BUNDLER_VERSION = "2.3.26" - VALID_GEM_GROUPS = ["sorbet", "prof"].freeze - module_function def ruby_bindir @@ -136,9 +134,6 @@ module Homebrew old_bundle_frozen = ENV.fetch("BUNDLE_FROZEN", nil) old_sdkroot = ENV.fetch("SDKROOT", nil) - invalid_groups = groups - VALID_GEM_GROUPS - raise ArgumentError, "Invalid gem groups: #{invalid_groups.join(", ")}" unless invalid_groups.empty? - install_bundler! require "settings"