diagnostic: add warning for macOS Intel users - #23399
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds a new macOS-specific diagnostic check intended to warn Intel macOS users about the planned future shift of macOS Intel to Support Tier 3 (targeting September 2026), with a link to the published timeline.
Changes:
- Add a new
brew doctordiagnostic check (check_for_future_unsupported_macos) that triggers only on macOS Intel machines. - Suppress the warning for developers, integration tests, and CI/GitHub Actions environments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| def check_for_future_unsupported_macos | ||
| return if Homebrew::EnvConfig.developer? | ||
| return if ENV["HOMEBREW_INTEGRATION_TEST"] | ||
| return if ::Hardware::CPU.physical_cpu_arm64? | ||
| return unless ::Hardware::CPU.intel? | ||
|
|
||
| # Avoid breaking CI workflows while macOS Intel is still Tier 1 | ||
| return if ENV["CI"] || GitHub::Actions.env_set? | ||
|
|
||
| ::Homebrew::Diagnostic::Finding.new( | ||
| <<~EOS, | ||
| You are using macOS Intel which will be Tier 3 in or after September 2026. | ||
| See planned timeline at #{Formatter.url("https://docs.brew.sh/Support-Tiers#future-macos-support")} | ||
| EOS | ||
| ) |
There was a problem hiding this comment.
I think this is a valid concern.
MikeMcQuaid
left a comment
There was a problem hiding this comment.
I appreciate the PR but it feels a bit strange to throw errors to users about something that is going to happen later? What's the advantage of doing this now rather than then?
| def check_for_future_unsupported_macos | ||
| return if Homebrew::EnvConfig.developer? | ||
| return if ENV["HOMEBREW_INTEGRATION_TEST"] | ||
| return if ::Hardware::CPU.physical_cpu_arm64? | ||
| return unless ::Hardware::CPU.intel? | ||
|
|
||
| # Avoid breaking CI workflows while macOS Intel is still Tier 1 | ||
| return if ENV["CI"] || GitHub::Actions.env_set? | ||
|
|
||
| ::Homebrew::Diagnostic::Finding.new( | ||
| <<~EOS, | ||
| You are using macOS Intel which will be Tier 3 in or after September 2026. | ||
| See planned timeline at #{Formatter.url("https://docs.brew.sh/Support-Tiers#future-macos-support")} | ||
| EOS | ||
| ) |
There was a problem hiding this comment.
I think this is a valid concern.
Similar to why Apple has the notification popups telling users that some apps aren't going to work in future macOS. Not essential but personally consider it a better user experience to provide visibility and notify user base in advance via as many avenues as possible. |
|
@cho-m Sure, I guess what I mean is: what's the action-item for users here? Buy a new computer? |
Should be the same as our other support information. Either live with degraded experience while in lower Tier or move to MacPorts/etc. Though ultimately thinking over user base that hasn't read the documentation, I'm guessing this mostly overlaps with users who won't run |
Trying to add some advance warnings to hopefully inform more users of upcoming plans. Analytics data still shows 3.4M non-CI events in 30 days - https://formulae.brew.sh/analytics/homebrew-os-arch-ci/30d/
Otherwise a lot of users will only find out when
brew installstarts performing source builds when bottles are lost.Though I don't expect many users will run
brew doctorbut hopefully some will see it. Perhaps outputting a one-time warning on any brew command could help.Message looks like:
brewcommands to reproduce the bug?brew lgtm(style, typechecking and tests) locally?