From 2b3642954337e9610285581850026167e526708e Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Tue, 7 Apr 2026 10:31:19 +0300 Subject: [PATCH 1/7] Move Homebrew dependencies into Brewfile --- .github/workflows/Brewfile | 6 ++++++ .github/workflows/reusable-macos.yml | 2 +- .pre-commit-config.yaml | 2 ++ 3 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/Brewfile diff --git a/.github/workflows/Brewfile b/.github/workflows/Brewfile new file mode 100644 index 00000000000000..683a4c1d329629 --- /dev/null +++ b/.github/workflows/Brewfile @@ -0,0 +1,6 @@ +brew "gdbm" +brew "make" +brew "openssl@3.5" +brew "pkg-config" +brew "tcl-tk" +brew "xz" diff --git a/.github/workflows/reusable-macos.yml b/.github/workflows/reusable-macos.yml index a372d5715290db..72694add038fb1 100644 --- a/.github/workflows/reusable-macos.yml +++ b/.github/workflows/reusable-macos.yml @@ -37,7 +37,7 @@ jobs: run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV" - name: Install Homebrew dependencies run: | - brew install pkg-config openssl@3.5 xz gdbm tcl-tk@9 make + brew bundle --file=.github/workflows/Brewfile # Because alternate versions are not symlinked into place by default: brew link --overwrite tcl-tk@9 - name: Configure CPython diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c77610e209ebbd..e373096082ad46 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -85,6 +85,8 @@ repos: exclude: Lib/test/tokenizedata/coding20731.py - id: end-of-file-fixer files: '^\.github/CODEOWNERS$' + - id: file-contents-sorter + files: '^\.github/workflows/Brewfile$' - id: trailing-whitespace types_or: [c, inc, python, rst, yaml] - id: trailing-whitespace From 301147ecf064cdcdbc82313963d0409487c835ed Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Fri, 10 Apr 2026 16:49:38 +0300 Subject: [PATCH 2/7] No need to link the default version --- .github/workflows/reusable-macos.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/reusable-macos.yml b/.github/workflows/reusable-macos.yml index 72694add038fb1..f88f5c2e91c513 100644 --- a/.github/workflows/reusable-macos.yml +++ b/.github/workflows/reusable-macos.yml @@ -38,8 +38,6 @@ jobs: - name: Install Homebrew dependencies run: | brew bundle --file=.github/workflows/Brewfile - # Because alternate versions are not symlinked into place by default: - brew link --overwrite tcl-tk@9 - name: Configure CPython run: | MACOSX_DEPLOYMENT_TARGET=10.15 \ From f54be759c378b214e2427beb6d58f2e79f6393c4 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Fri, 10 Apr 2026 17:27:13 +0300 Subject: [PATCH 3/7] Explicitly install tcl-tk9 Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> --- .github/workflows/Brewfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Brewfile b/.github/workflows/Brewfile index 683a4c1d329629..1bd70dd3db8316 100644 --- a/.github/workflows/Brewfile +++ b/.github/workflows/Brewfile @@ -2,5 +2,5 @@ brew "gdbm" brew "make" brew "openssl@3.5" brew "pkg-config" -brew "tcl-tk" +brew "tcl-tk9" brew "xz" From f8abb34970e1eb7c49126a5b61f72fedbb28dac5 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Fri, 10 Apr 2026 17:37:07 +0300 Subject: [PATCH 4/7] @ --- .github/workflows/Brewfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Brewfile b/.github/workflows/Brewfile index 1bd70dd3db8316..31b144c76c1c61 100644 --- a/.github/workflows/Brewfile +++ b/.github/workflows/Brewfile @@ -2,5 +2,5 @@ brew "gdbm" brew "make" brew "openssl@3.5" brew "pkg-config" -brew "tcl-tk9" +brew "tcl-tk@9" brew "xz" From 3a804b84a982267958b9e5b087d5b63df4fe505f Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Sun, 12 Apr 2026 16:14:45 +0300 Subject: [PATCH 5/7] Only install gmake from Homebrew on CI --- .github/workflows/Brewfile | 1 - .github/workflows/reusable-macos.yml | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Brewfile b/.github/workflows/Brewfile index 31b144c76c1c61..d9d141fee51905 100644 --- a/.github/workflows/Brewfile +++ b/.github/workflows/Brewfile @@ -1,5 +1,4 @@ brew "gdbm" -brew "make" brew "openssl@3.5" brew "pkg-config" brew "tcl-tk@9" diff --git a/.github/workflows/reusable-macos.yml b/.github/workflows/reusable-macos.yml index 3e71bb054e43e1..9deb24558ebc6b 100644 --- a/.github/workflows/reusable-macos.yml +++ b/.github/workflows/reusable-macos.yml @@ -39,6 +39,7 @@ jobs: - name: Install Homebrew dependencies run: | brew bundle --file=.github/workflows/Brewfile + brew install make - name: Configure CPython run: | MACOSX_DEPLOYMENT_TARGET=10.15 \ From b29865e040946faa0f5d996fd4f157445628af3d Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Sun, 12 Apr 2026 16:29:33 +0300 Subject: [PATCH 6/7] Add mpdecimal and zstd to Brewfile --- .github/workflows/Brewfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/Brewfile b/.github/workflows/Brewfile index d9d141fee51905..459d9db52ac357 100644 --- a/.github/workflows/Brewfile +++ b/.github/workflows/Brewfile @@ -1,5 +1,7 @@ brew "gdbm" +brew "mpdecimal" brew "openssl@3.5" brew "pkg-config" brew "tcl-tk@9" brew "xz" +brew "zstd" From 886e8b70ceb7027f6c15261ab5dcd7d7a9bde952 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Mon, 20 Apr 2026 22:36:41 +0300 Subject: [PATCH 7/7] Move to Misc/Brewfile --- .github/workflows/reusable-macos.yml | 2 +- .pre-commit-config.yaml | 2 +- {.github/workflows => Misc}/Brewfile | 0 3 files changed, 2 insertions(+), 2 deletions(-) rename {.github/workflows => Misc}/Brewfile (100%) diff --git a/.github/workflows/reusable-macos.yml b/.github/workflows/reusable-macos.yml index 9deb24558ebc6b..93b419159fa817 100644 --- a/.github/workflows/reusable-macos.yml +++ b/.github/workflows/reusable-macos.yml @@ -38,7 +38,7 @@ jobs: run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV" - name: Install Homebrew dependencies run: | - brew bundle --file=.github/workflows/Brewfile + brew bundle --file=Misc/Brewfile brew install make - name: Configure CPython run: | diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9466aed336bfde..d231538b93a692 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -86,7 +86,7 @@ repos: - id: end-of-file-fixer files: '^\.github/CODEOWNERS$' - id: file-contents-sorter - files: '^\.github/workflows/Brewfile$' + files: '^Misc/Brewfile$' - id: mixed-line-ending args: [--fix=auto] exclude: '^Lib/test/.*data/' diff --git a/.github/workflows/Brewfile b/Misc/Brewfile similarity index 100% rename from .github/workflows/Brewfile rename to Misc/Brewfile