Repository navigation
Description
Description
Somewhat recently, when using brew test-bot to update my formulae, brew doctor fails (run during brew test-bot --only-setup) because the homebrew/core repo has uncommitted changes, namely for openssl but I was also seeing git's formula sometimes.
Based on https://github.com/orgs/Homebrew/discussions/6517 I added a step to git -C "$(brew --repository homebrew/core)" clean -df and that has fixed the problem.
Your runner images seem to be left in a dirty state.
This might actually affect all platforms, but macOS 15 images were first to hit the error every time, so I can't say for certain.
Platforms affected
- Azure DevOps
- GitHub Actions - Standard Runners
- GitHub Actions - Larger Runners
Runner images affected
- Ubuntu 22.04
- Ubuntu 24.04
- Ubuntu Slim
- macOS 13
- macOS 13 Arm64
- macOS 14
- macOS 14 Arm64
- macOS 15
- macOS 15 Arm64
- macOS 26 Arm64
- Windows Server 2019
- Windows Server 2022
- Windows Server 2025
Image version and build link
Version 20251103.0081
Is it regression?
Yes. It's been a while since I've run this workflow, but it worked here: https://github.com/heaths/homebrew-tap/actions/runs/18397316728 (runner version 20250928.2397)
Expected behavior
brew doctor runs without finding any issues i.e., no files are uncommitted in the homebrew/core repo.
Actual behavior
brew doctor fails because there are uncommitted files in the homebrew/core repo.
Repro steps
The workflow is mostly the standard brew test-bot-created workflow (I've made some minor edits but unrelated to this issue). Basically, it needs to set up homebrew and eventually runs brew doctor to check for issues including uncommitted files in the homebrew/core repo that might yield inconsistent results when building formulae.
So not so much repro steps, but the workflow shows the steps. At one point I peppered intermitted git -C "$(brew --repository homebrew/core)" status in the workflow and, indeed, even before any brew commands were run, the repo was dirty.
Activity
ZhongRuoyu commentedon Nov 12, 2025
Homebrew maintainer here. I understand that GitHub Actions keep
[email protected]in the images due to compatibility issues. We have added a workaround for this on Homebrew's side (Homebrew/brew#21025) so that Homebrew taps can continue to work with the standard workflow. (brew test-bot --cleanup --only-cleanup-beforecleans this up.)erik-bershel commentedon Nov 12, 2025
The problem exists, affecting only macOS, where Homebrew is the primary package manager, and where we use workaround to install an older version of OpenSSL, which is responsible for a significant number of community launches. This same approach is sometimes used to work around issues with other packages of newer versions.
We'll investigate whether this approach can be used to avoid OpenSSL pinning or to mitigate its consequences before launch, or whether we'll be forced to accept this as expected behavior and ask you to use the Workaround provided by the maintainer above. We'll return with a response based on the results of our brief investigation. Until then, please use any of the patches provided that's convenient for you.
erik-bershel commentedon Dec 25, 2025
We haven't yet reached a completely safe scenario for using the deprecated OpenSSL 1.1 package, which some users depend on, so we'll leave the situation as is. Overall, this shouldn't be a major issue given the existing workaround, although it is a bug in the broadest sense. The issue will eventually resolve with the upcoming transition to macOS 26. We may be able to deprecate OpenSSL 1.1 on macOS-15, and we'll notify the community separately if that happens.