From 8c0d5da82b7d4a9e26d77c51b7802aa47600edcf Mon Sep 17 00:00:00 2001 From: David de Hilster Date: Wed, 14 Oct 2026 21:34:41 -0400 Subject: [PATCH] ci: restore vcpkg binary caching so ICU isn't rebuilt every run vcpkg removed its 'x-gha' binary cache backend, so github-binarycache: true cached nothing. ICU was compiled from source in the vcpkg step and again in each per-Python wheel build (~5x per job), costing ~37 min on Windows and ~21 min on macOS. Switch the action to its file cache (VCPKG_DEFAULT_BINARY_CACHE + actions/cache), which the wheel builds also hit. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/publish.yml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 7f39f77..c431978 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -75,7 +75,12 @@ jobs: manifest-dir: ${{ github.workspace }} triplet: arm64-osx-release token: ${{ github.token }} - github-binarycache: true + # vcpkg removed its 'x-gha' backend, so github-binarycache: true + # caches nothing and ICU was rebuilt from source on every run -- once + # here and again inside each per-Python wheel build (~5x per job). + # false switches the action to its file cache (VCPKG_DEFAULT_BINARY_CACHE + # + actions/cache), which the wheel builds also hit. + github-binarycache: false # Replaces the previous bare `pip wheel`, which only built a single wheel # for the runner's host Python (leaving cp310-cp312 macOS users with no @@ -121,7 +126,12 @@ jobs: manifest-dir: ${{ github.workspace }} triplet: x64-windows-release token: ${{ github.token }} - github-binarycache: true + # vcpkg removed its 'x-gha' backend, so github-binarycache: true + # caches nothing and ICU was rebuilt from source on every run -- once + # here and again inside each per-Python wheel build (~5x per job). + # false switches the action to its file cache (VCPKG_DEFAULT_BINARY_CACHE + # + actions/cache), which the wheel builds also hit. + github-binarycache: false - name: Build wheels # See the Linux job: v2.19.2 is too old to build cp313, so 3.13