Skip to content

Comments

Revert "Enable strict typing in Homebrew::TestBot, redux"#21549

Merged
bevanjkay merged 1 commit intomainfrom
revert-21539-strict-typing-test-bot
Feb 9, 2026
Merged

Revert "Enable strict typing in Homebrew::TestBot, redux"#21549
bevanjkay merged 1 commit intomainfrom
revert-21539-strict-typing-test-bot

Conversation

@bevanjkay
Copy link
Member

@bevanjkay bevanjkay commented Feb 9, 2026

Reverts #21539

Reverting to unblock CI. We can go for another attempt.
See #21539 (comment)

CC: @dduugg

Copilot AI review requested due to automatic review settings February 9, 2026 11:48
@bevanjkay bevanjkay enabled auto-merge February 9, 2026 11:48
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Reverts the prior attempt to enable Sorbet typed: strict within Homebrew::TestBot to unblock CI by relaxing typing (typed: true) and removing strict Sorbet signatures/assertions across the test-bot implementation.

Changes:

  • Downgrade Homebrew::TestBot files from typed: strict to typed: true and remove many sig/T.must/T.let constructs.
  • Add minimal RBI stubs for TestRunner and TestFormulae (including Kernel).
  • Update/remove several RSpec regression tests related to the strict-typing work.

Reviewed changes

Copilot reviewed 19 out of 21 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
Library/Homebrew/test_bot/test_runner.rbi Adds RBI stub for TestRunner (includes Kernel).
Library/Homebrew/test_bot/test_runner.rb Switches to typed: true, removes strict Sorbet typing constructs, refactors module structure.
Library/Homebrew/test_bot/test_formulae.rbi Adds RBI stub for TestFormulae (includes Kernel).
Library/Homebrew/test_bot/test_formulae.rb Switches to typed: true, removes strict Sorbet typing constructs, adjusts artifact/bottle cache logic.
Library/Homebrew/test_bot/test_cleanup.rb Switches to typed: true, removes strict Sorbet typing constructs, changes some path handling.
Library/Homebrew/test_bot/test.rb Switches to typed: true, removes strict Sorbet typing constructs, minor initialization changes.
Library/Homebrew/test_bot/tap_syntax.rb Switches to typed: true, removes strict Sorbet typing constructs and simplifies tap handling.
Library/Homebrew/test_bot/step.rb Switches to typed: true, removes strict Sorbet typing constructs, adjusts annotation helpers.
Library/Homebrew/test_bot/setup.rb Switches to typed: true, removes strict Sorbet typing constructs.
Library/Homebrew/test_bot/junit.rb Switches to typed: true, moves rexml requires from initialize to build, removes strict typing.
Library/Homebrew/test_bot/formulae_detect.rb Switches to typed: true, removes strict Sorbet typing constructs, simplifies tap presence checks.
Library/Homebrew/test_bot/formulae_dependents.rb Switches to typed: true, removes strict Sorbet typing constructs and some initializer state.
Library/Homebrew/test_bot/formulae.rb Switches to typed: true, removes strict Sorbet typing constructs, refactors formula test flow.
Library/Homebrew/test_bot/cleanup_before.rb Switches to typed: true, removes strict Sorbet typing constructs.
Library/Homebrew/test_bot/cleanup_after.rb Switches to typed: true, removes strict Sorbet typing constructs.
Library/Homebrew/test_bot/bottles_fetch.rb Switches to typed: true, removes strict Sorbet typing constructs.
Library/Homebrew/test_bot.rb Switches to typed: true, removes strict Sorbet typing constructs.
Library/Homebrew/test/test_bot/test_formulae_spec.rb Removes regression spec introduced for strict-typing edge cases.
Library/Homebrew/test/test_bot/test_cleanup_spec.rb Removes regression spec introduced for strict-typing argument-type edge cases.
Library/Homebrew/test/test_bot/setup_spec.rb Updates require and adjusts args double class.
Library/Homebrew/test/test_bot/junit_spec.rb Removes regression spec covering REXML loading/serialization.
Files not reviewed (2)
  • Library/Homebrew/test_bot/test_formulae.rbi: Language not supported
  • Library/Homebrew/test_bot/test_runner.rbi: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@chenrui333
Copy link
Member

mainly two issues seeing so far

Error: Parameter 'arguments': Expected type String, got type Pathname with value #<Pathname:/github/home/bot....0.x86_64_linux.bottle.tar.gz>
Caller: /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.4.0/gems/sorbet-runtime-0.6.12908/lib/types/private/methods/call_validation.rb:227
Definition: /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/test_bot/test.rb:91 (Homebrew::TestBot::Test#test)

https://github.com/Homebrew/homebrew-core/actions/runs/21822634324/job/62964195129

Error: Parameter 'tag': Expected type Symbol, got type Utils::Bottles::Tag with hash 2200583248568833980
Caller: /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/test_bot/bottles_fetch.rb:17
Definition: /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/test_bot/bottles_fetch.rb:45 (Homebrew::TestBot::BottlesFetch#fetch_bottles!)

https://github.com/Homebrew/homebrew-core/actions/runs/21824251890/job/62964964238

Merged via the queue into main with commit ea0351c Feb 9, 2026
61 of 63 checks passed
@bevanjkay bevanjkay deleted the revert-21539-strict-typing-test-bot branch February 9, 2026 12:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants