Skip to content

Pin cpp_ci to windows-2022 to fix VS2026 toolset/LTCG CI failures - #205

Merged
Gudge (MGudgin) merged 1 commit into
mainfrom
user/gudge/fix-ci-ltcg-crash
Jul 15, 2026
Merged

Pin cpp_ci to windows-2022 to fix VS2026 toolset/LTCG CI failures#205
Gudge (MGudgin) merged 1 commit into
mainfrom
user/gudge/fix-ci-ltcg-crash

Conversation

@MGudgin

@MGudgin Gudge (MGudgin) commented Jul 11, 2026

Copy link
Copy Markdown
Member

This PR fixes the cpp_ci build failures by pinning the C++ CI jobs to the windows-2022 runner image (Visual Studio 2022 / v143 toolset) instead of windows-latest.

The windows-latest image moved to Visual Studio 2026 (v18), which does not reliably provide the v143 (VS2022) build tools that every project in the repo pins, so builds intermittently fail with MSB8020: The build tools for Visual Studio 2022 (Platform Toolset = 'v143') cannot be found; on runs where a v143 project did link, the VS2026 LTCG backend intermittently crashed with LNK1257: code generation failed. Both symptoms share the same root cause (the runner image change), which is why they appear on unrelated, content-free PRs (#203, #204).

Details

  • .github/workflows/cpp_ci.yml: change all three jobs (build-edl-code-gen, run-edl-code-gen-tests, build-sdk) from runs-on: windows-latest to runs-on: windows-2022, with a comment explaining the pin.

Tests

  • Confirmed from CI logs that failing jobs resolved to VS2026 (...\Microsoft Visual Studio\18\Enterprise\..., MSBuild 18.7.8): failing runs used the v180 targets and reported MSB8020 for v143, while passing runs used the v170 (v143) targets.
  • windows-2022 is a GitHub-supported runner image that ships VS2022 / v143, so it deterministically provides the pinned toolset.
  • Validated cpp_ci.yml is well-formed YAML.

Note

pull_request runs use the workflow file from the PR's head branch, so #203/#204 pick up this pin once they are rebased or retargeted onto this branch.

@MGudgin
Gudge (MGudgin) force-pushed the user/gudge/fix-ci-ltcg-crash branch from cbdd6a5 to 1072a87 Compare July 11, 2026 05:05
@MGudgin Gudge (MGudgin) changed the title Fix intermittent LNK1257 LTCG crash in CI builds Pin cpp_ci to windows-2022 to fix VS2026 toolset/LTCG CI failures Jul 11, 2026
@MGudgin
Gudge (MGudgin) force-pushed the user/gudge/fix-ci-ltcg-crash branch from 1072a87 to d407baa Compare July 11, 2026 05:11
This PR fixes the `cpp_ci` build failures by pinning the C++ CI jobs to the
`windows-2022` runner image (Visual Studio 2022 / v143 toolset) instead of
`windows-latest`.

The `windows-latest` image moved to Visual Studio 2026 (v18), which does not
reliably provide the `v143` (VS2022) build tools that every project in the repo
pins, so builds intermittently fail with `MSB8020: The build tools for Visual
Studio 2022 (Platform Toolset = 'v143') cannot be found`; on runs where a v143
project did link, the VS2026 LTCG backend intermittently crashed with
`LNK1257: code generation failed`. Both symptoms share the same root cause (the
runner image change), which is why they appear on unrelated, content-free PRs
(#203, #204).

Details

* `.github/workflows/cpp_ci.yml`: change all three jobs (build-edl-code-gen,
  run-edl-code-gen-tests, build-sdk) from `runs-on: windows-latest` to
  `runs-on: windows-2022`, with a comment explaining the pin.

Tests

* Confirmed from CI logs that failing jobs resolved to VS2026
  (`...\Microsoft Visual Studio\18\Enterprise\...`, MSBuild 18.7.8): failing
  runs used the `v180` targets and reported MSB8020 for v143, while passing runs
  used the `v170` (v143) targets.
* `windows-2022` is a GitHub-supported runner image that ships VS2022 / v143, so
  it deterministically provides the pinned toolset.
* Validated cpp_ci.yml is well-formed YAML.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 515cf42c-8709-4378-9d8a-8680e03acd18

@bbonaby Branden Bonaby (bbonaby) left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh thanks, added this issue #206 so we don't forget to look into this

@MGudgin
Gudge (MGudgin) merged commit db34366 into main Jul 15, 2026
15 checks passed
@MGudgin
Gudge (MGudgin) deleted the user/gudge/fix-ci-ltcg-crash branch July 31, 2026 23:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants