Repository navigation
Commit 6569c59
committed
fix(ci): windows-2025 with the MSVC toolset pinned — both axes, not a trade
#385 pinned the windows leg to `windows-2022` to get past MSVC STL 14.51
rejecting `huxerui.huxerui`, and that pin cost three members: `vulkan`,
`eui-neo-vulkan` and `vulkan-hpp-module` began failing at 0xC0000135. It
was a trade, and it was avoidable.
THE MISTAKE WAS TREATING ONE LABEL AS ONE AXIS
A windows job depends on the image for two unrelated things, and both were
being chosen with a single word:
* the Vulkan LOADER — `vulkan-1.dll` is not a Windows component, it
arrives with a GPU driver or the SDK. Measured: present on 2025 and on
latest, ABSENT on 2022.
* the MSVC STL clang compiles against — 14.51 instantiates a vectorized
`std::find` for a 24-byte type and static_asserts (mcpp#609).
Choosing an old image fixed the STL and lost the loader. They are separate
axes and only looked joined because both were read off the label.
The probe that settled it printed the image inventory before building
anything, and the inventory is the finding: `windows-2025` carries THREE
toolsets — 14.29.30133, 14.44.35207, 14.51.36231 — and clang simply takes
the newest.
SO: NEW IMAGE, OLD TOOLSET
`windows-2025` for the loader, `VCToolsInstallDir` naming 14.44 for the
STL. Measured on exactly that combination:
mcpp test -p huxerui-module test result ok. 1 passed
MSVC\14.44.35207 in the compile 6 occurrences
MSVC\14.51.36231 0
The last two lines are the point. A pass alone would not distinguish
"compiled against 14.44" from "compiled against 14.51 and got lucky", so
the probe was built to report which STL the build actually reached.
Both halves are pinned deliberately: the image because `latest` moves what
is installed, the toolset because the image ships more than one and the
newest is the broken one. The step throws when 14.44 is absent rather than
letting a silent fallback to 14.51 return as the same static_assert three
shards later, attributed to whichever descriptor changed that week — which
is the failure mode the rolling label already produced here once.1 parent 18dfa0b commit 6569c59
1 file changed
Lines changed: 51 additions & 29 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
786 | 786 | | |
787 | 787 | | |
788 | 788 | | |
789 | | - | |
790 | | - | |
791 | | - | |
792 | | - | |
793 | | - | |
| 789 | + | |
| 790 | + | |
| 791 | + | |
794 | 792 | | |
795 | | - | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
796 | 796 | | |
797 | | - | |
798 | | - | |
799 | | - | |
| 797 | + | |
| 798 | + | |
| 799 | + | |
| 800 | + | |
| 801 | + | |
| 802 | + | |
| 803 | + | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
800 | 807 | | |
801 | | - | |
802 | | - | |
803 | | - | |
804 | | - | |
805 | | - | |
806 | | - | |
807 | | - | |
808 | | - | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
809 | 811 | | |
810 | | - | |
811 | | - | |
812 | | - | |
813 | | - | |
814 | | - | |
815 | | - | |
816 | | - | |
817 | | - | |
818 | | - | |
819 | | - | |
820 | | - | |
821 | | - | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
822 | 820 | | |
823 | 821 | | |
824 | 822 | | |
| |||
1002 | 1000 | | |
1003 | 1001 | | |
1004 | 1002 | | |
| 1003 | + | |
| 1004 | + | |
| 1005 | + | |
| 1006 | + | |
| 1007 | + | |
| 1008 | + | |
| 1009 | + | |
| 1010 | + | |
| 1011 | + | |
| 1012 | + | |
| 1013 | + | |
| 1014 | + | |
| 1015 | + | |
| 1016 | + | |
| 1017 | + | |
| 1018 | + | |
| 1019 | + | |
| 1020 | + | |
| 1021 | + | |
| 1022 | + | |
| 1023 | + | |
| 1024 | + | |
| 1025 | + | |
| 1026 | + | |
1005 | 1027 | | |
1006 | 1028 | | |
1007 | 1029 | | |
| |||
0 commit comments