ci: bump php-windows-builder to 1.9.0 and dedupe the VS cache save - #18
Merged
Conversation
The build toolchain moves from php-sdk 2.6.0 to 2.8.1, and dependency archives now extract from a temp path that gets cleaned up rather than unpacking a zip named after the library into the build directory. 1.9.0 also has extension-matrix emit a per-lane save-vs-cache flag, true for exactly one lane per (os, VS toolset) pair. Wiring it into the build step is what makes it count: the input defaults to true, so without it all 20 lanes keep racing to write the same VS component cache. Our matrix spans two toolsets on windows-2022, so 2 lanes save and 18 restore only. The PDF lane shares windows-2022/vs17 with an 8.4 matrix lane, so it restores only as well. The release action is byte-identical between 1.8.1 and 1.9.0; the rest of the release is PHP-source-builder work this repo does not use.
iliaal
force-pushed
the
ci/php-windows-builder-1.9.0
branch
from
July 29, 2026 11:36
6914d0c to
ef3a887
Compare
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.
Upstream released 1.9.0 on 2026-07-27. Most of it doesn't reach this repo: 42 of the 71 changed files sit under
php/, the PHP-source-builder action we don't use, and therelease/action is byte-identical to 1.8.1.What actually lands here:
finally, instead of unpacking a zip named after the library into the build directory.extension-matrixemits a per-lanesave-vs-cacheflag, true for one lane per (os, VS toolset) pair.That last flag does nothing unless we forward it, since the action's input defaults to
true. Our matrix covers two toolsets on windows-2022 (vs16 for 8.1-8.3, vs17 for 8.4-8.5), so wiring it gives 2 savers and 18 restore-only lanes. The PDF lane isn't matrix-driven and shares windows-2022/vs17 with an 8.4 matrix lane, so it's pinned tofalse.Run 30447739686 confirms the flag reaches the lanes correctly:
8.1 x64 ntsand8.4 x64 ntsgettrue, the other 18 getfalse. It is inert in practice right now, because windows-2022 already ships MSVC 14.44.35207 and both vs16 and vs17 resolve to it, so no lane installs a toolset and no lane caches one. The wiring earns its keep when a runner image stops shipping a toolset in range, or when 8.6 brings windows-2025-vs2026 into the matrix. Today's measurable gains are the php-sdk bump and the dependency-archive cleanup.That same 14.44 reading clears the one behavioral risk I saw in the diff: 1.9.0 caps vs17 at
minorMax: 49where 1.8.1 left it open, and the runner sits inside the new bound.Checked before pushing: zizmor 1.28.0 under the pedantic persona reports no findings, and every input this workflow passes still exists in the 1.9.0 action definitions. CI exercises all 20 build lanes plus the PDF lane end to end, each running the full phpt suite. The release-upload path can't run from a pull request, but that action carries no delta between the two tags.