Skip to content

ci: use the VS 2026 generator for the MSVC ARM64 job - #4824

Merged
Cyan4973 merged 1 commit into
devfrom
ci-msvc-arm64-vs2026
Oct 6, 2026
Merged

Cyan4973 merged 1 commit into
devfrom
ci-msvc-arm64-vs2026

Conversation

@Cyan4973

@Cyan4973 Cyan4973 commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

The windows-11-arm runner label now resolves to the windows-11-vs2026-arm64 image (20260924), which ships Visual Studio 2026 and CMake 4.4.

Switch that matrix entry to the "Visual Studio 18 2026" generator. The x64 and Win32 entries run on windows-2022 and are unaffected.

The windows-11-arm runner label now resolves to the
windows-11-vs2026-arm64 image (20260924), which ships Visual Studio
2026 and CMake 4.4, but no longer Visual Studio 2022. CMake fails at
configure time with "could not find any instance of Visual Studio", so
the job fails on every PR opened since 2026-10-01 (e.g. #4806, #4811,
#4813).

Switch that matrix entry to the "Visual Studio 18 2026" generator. The
x64 and Win32 entries run on windows-2022 and are unaffected.

Drop "VS2022" from the job name template, which would now be wrong for
the ARM64 entry: jobs become "CMake Windows (<entry>)". No branch
protection rule requires these checks by name.
@Cyan4973 Cyan4973 self-assigned this Oct 5, 2026
@Cyan4973 Cyan4973 added the CI label Oct 5, 2026
@meta-cla meta-cla Bot added the CLA Signed label Oct 5, 2026
Cyan4973 added a commit that referenced this pull request Oct 5, 2026
intel-cet-compatibility runs ./zstd under SDE without a chip option, so
SDE checks instructions against the host's cpuid. On runners whose CPU
lacks CET, it aborts at the first endbr64, in the dynamic loader, before
zstd runs:

  SDE-ERROR: Executed instruction not valid for host's cpuid: endbr64
  Notice: No chip or cpuid.def file were given, so host's cpuid was
  used for chip check.

The job thus passes or fails depending on the runner it lands on: it
failed on #4824 (Azure westus3) and passed 15 minutes earlier on #4823
(westus2), on the same workflow.

Pass -tgl, the first Intel chip with CET, so the check no longer depends
on the host. Verified locally with SDE 10.13.1 on an AMD EPYC host
(no CET): without -tgl, the CI failure reproduces; with -tgl, zstd -b3
passes, and a CET-marked test binary with an indirect call to a function
lacking endbr64 is still caught (ENDBRANCH error, exit 1).
@Cyan4973
Cyan4973 merged commit 7fd435a into dev Oct 6, 2026
166 of 167 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant