CI: Move Homebrew dependencies into Brewfile#148335
Open
hugovk wants to merge 4 commits intopython:mainfrom
Open
CI: Move Homebrew dependencies into Brewfile#148335hugovk wants to merge 4 commits intopython:mainfrom
hugovk wants to merge 4 commits intopython:mainfrom
Conversation
hugovk
commented
Apr 10, 2026
| run: | | ||
| brew install pkg-config openssl@3.5 xz gdbm tcl-tk@9 make | ||
| # Because alternate versions are not symlinked into place by default: | ||
| brew link --overwrite tcl-tk@9 |
Member
Author
There was a problem hiding this comment.
Will backport to 3.10, but we still need to link tcl-tk@8 there. And put tcl-tk@8 in the Brewfile.
hugovk
commented
Apr 10, 2026
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
webknjaz
approved these changes
Apr 10, 2026
Member
webknjaz
left a comment
There was a problem hiding this comment.
I like the idea but not sure if the file location should be among the workflows.. Perhaps, it'd belong in the tools dir?
Member
Author
|
Good point: if we move it elsewhere, we can update https://devguide.python.org/getting-started/setup-building/ -brew install pkg-config openssl@3 xz gdbm tcl-tk mpdecimal zstd
+brew bundle --file=<file-location> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The motivation for this is to get rid of the 15 Homebrew warnings like:
Details
macOS / build and test (macos-26)
openssl@3.5 was installed but not linked because openssl@3 and openssl@3 are already linked. To link this version, run: brew link openssl@3.5
macOS / build and test (macos-26)
$HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECKis set: not checking for outdated dependents or dependents with broken linkage!macOS / build and test (macos-26)
gdbm 1.26 is already installed and up-to-date. To reinstall 1.26, run: brew reinstall gdbm
macOS / build and test (macos-26)
xz 5.8.3 is already installed and up-to-date. To reinstall 5.8.3, run: brew reinstall xz
macOS / build and test (macos-26)
pkgconf 2.5.1 is already installed and up-to-date. To reinstall 2.5.1, run: brew reinstall pkgconf
macOS (free-threading) / build and test (macos-26)
openssl@3.5 was installed but not linked because openssl@3 and openssl@3 are already linked. To link this version, run: brew link openssl@3.5
macOS (free-threading) / build and test (macos-26)
$HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECKis set: not checking for outdated dependents or dependents with broken linkage!macOS (free-threading) / build and test (macos-26)
gdbm 1.26 is already installed and up-to-date. To reinstall 1.26, run: brew reinstall gdbm
macOS (free-threading) / build and test (macos-26)
xz 5.8.3 is already installed and up-to-date. To reinstall 5.8.3, run: brew reinstall xz
macOS (free-threading) / build and test (macos-26)
pkgconf 2.5.1 is already installed and up-to-date. To reinstall 2.5.1, run: brew reinstall pkgconf
openssl@3.5 was installed but not linked because openssl@3 and openssl@3 are already linked. To link this version, run: brew link openssl@3.5
macOS / build and test (macos-15-intel)
$HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECKis set: not checking for outdated dependents or dependents with broken linkage!macOS / build and test (macos-15-intel)
gdbm 1.26 is already installed and up-to-date. To reinstall 1.26, run: brew reinstall gdbm
macOS / build and test (macos-15-intel)
xz 5.8.3 is already installed and up-to-date. To reinstall 5.8.3, run: brew reinstall xz
macOS / build and test (macos-15-intel)
pkgconf 2.5.1 is already installed and up-to-date. To reinstall 2.5.1, run: brew reinstall pkgconf
Before: https://github.com/python/cpython/actions/runs/24211469188
brew bundle Brewfileis essentially the same asbrew install, except it checks all the needed dependencies first, and if a dep is is already installed, it's a noop and doesn't print the warning.Docs: https://docs.brew.sh/Brew-Bundle-and-Brewfile
This helps keep our warnings log clear for things that really matter.
Also we don't need to
brew link --overwrite tcl-tk@9becausetcl-tkis the default. This fixes these three warnings:After: just a hypothesis warning! https://github.com/python/cpython/actions/runs/24248324311?pr=148335