From 679060837826cebaddc59ed829f6d8d0efb2c2b7 Mon Sep 17 00:00:00 2001 From: Sam Clegg Date: Fri, 4 Sep 2026 18:18:25 -0700 Subject: [PATCH] [ci] Use pip to install cmake and ninja on Windows Chocolatey's community feed is prone to rate-limiting, 503 Service Unavailable, and gateway timeouts on CI runners. Installing cmake and ninja wheels via `pip` is significantly faster and avoids dependency on community.chocolatey.org. See: #27511 --- .circleci/config.yml | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 979575e37fd3f..8330fa7f6b4b0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1165,10 +1165,11 @@ jobs: - run: name: Install packages command: | - choco install -y cmake.portable ninja - # Choco can return 0 even if package installation/resolution fails (e.g. 504 Gateway Timeout). - # See: https://github.com/chocolatey/choco/issues/1609 - # Explicitly check version commands to ensure executables exist in PATH. + # Use pip to install cmake and ninja wheels rather than chocolatey. + # Chocolatey's community repository is prone to rate-limiting, 503 + # Service Unavailable, and gateway timeouts in CI environments, + # whereas PyPI / wheels are much faster and more reliable. + pip install cmake ninja cmake --version ninja --version - install-emsdk @@ -1235,10 +1236,11 @@ jobs: - run: name: Install packages command: | - choco install -y cmake.portable ninja - # Choco can return 0 even if package installation/resolution fails (e.g. 504 Gateway Timeout). - # See: https://github.com/chocolatey/choco/issues/1609 - # Explicitly check version commands to ensure executables exist in PATH. + # Use pip to install cmake and ninja wheels rather than chocolatey. + # Chocolatey's community repository is prone to rate-limiting, 503 + # Service Unavailable, and gateway timeouts in CI environments, + # whereas PyPI / wheels are much faster and more reliable. + pip install cmake ninja cmake --version ninja --version # note we do *not* build all libraries and freeze the cache; as we run