Skip to content

Fix Windows CI: run build-windows-vs2022 on windows-2022 runner#14872

Closed
mszeszko-meta wants to merge 1 commit into
facebook:mainfrom
mszeszko-meta:export-D109229258
Closed

Fix Windows CI: run build-windows-vs2022 on windows-2022 runner#14872
mszeszko-meta wants to merge 1 commit into
facebook:mainfrom
mszeszko-meta:export-D109229258

Conversation

@mszeszko-meta

@mszeszko-meta mszeszko-meta commented Jun 21, 2026

Copy link
Copy Markdown
Contributor

Summary:

Motivation

The build-windows-vs2022 job in pr-jobs.yml was running on the windows-8-core runner, whose image no longer provides a Visual Studio 2022 installation. The job sets CMAKE_GENERATOR: Visual Studio 17 2022, so CMake's generator probes for an installed VS 2022 instance and aborts the Snappy dependency configure with:

CMake Error: Generator Visual Studio 17 2022 could not find any instance of Visual Studio.

The failure surfaces during the thirdparty Snappy build, before any RocksDB code is compiled, so it blocks the entire Windows PR signal.

Changes

Switch the build-windows-vs2022 job from runs-on: windows-8-core to runs-on: windows-2022. The GitHub-hosted windows-2022 image ships VS 2022 with the Desktop C++ workload preinstalled, so the Visual Studio 17 2022 generator resolves out of the box and the CMAKE_GENERATOR value stays consistent with the runner's installed toolchain. This also brings pr-jobs.yml in line with nightly.yml, whose build-windows-vs2022-avx2 job already runs on windows-2022.

Note

windows-2022 is the standard 2-core hosted runner (vs. the larger windows-8-core pool), so Windows builds will be somewhat slower; ccache keeps the compile cost mostly in cache hits.

Differential Revision: D109229258

Summary:
### Motivation

The `build-windows-vs2022` job in `pr-jobs.yml` was running on the `windows-8-core` runner, whose image no longer provides a Visual Studio 2022 installation. The job sets `CMAKE_GENERATOR: Visual Studio 17 2022`, so CMake's generator probes for an installed VS 2022 instance and aborts the Snappy dependency configure with:

```
CMake Error: Generator Visual Studio 17 2022 could not find any instance of Visual Studio.
```
The failure surfaces during the thirdparty Snappy build, before any RocksDB code is compiled, so it blocks the entire Windows PR signal.

### Changes

Switch the `build-windows-vs2022` job from `runs-on: windows-8-core` to `runs-on: windows-2022`. The GitHub-hosted `windows-2022` image ships VS 2022 with the Desktop C++ workload preinstalled, so the `Visual Studio 17 2022` generator resolves out of the box and the `CMAKE_GENERATOR` value stays consistent with the runner's installed toolchain. This also brings `pr-jobs.yml` in line with `nightly.yml`, whose `build-windows-vs2022-avx2` job already runs on `windows-2022`.

NOTE: `windows-2022` is the standard 2-core hosted runner (vs. the larger `windows-8-core` pool), so Windows builds will be somewhat slower; ccache keeps the compile cost mostly in cache hits.

Differential Revision: D109229258
@meta-cla meta-cla Bot added the CLA Signed label Jun 21, 2026
@meta-codesync

meta-codesync Bot commented Jun 21, 2026

Copy link
Copy Markdown

@mszeszko-meta has exported this pull request. If you are a Meta employee, you can view the originating Diff in D109229258.

@github-actions

Copy link
Copy Markdown

✅ clang-tidy: No findings on changed lines

Completed in 0.0s.

@github-actions

Copy link
Copy Markdown

🟡 Codex Code Review

Auto-triggered after CI passed — reviewing commit 641e166


Codex review failed before producing findings.

WARNING: proceeding, even though we could not create PATH aliases: Refusing to create helper binaries under temporary dir "/tmp" (codex_home: AbsolutePathBuf("/tmp/codex-home"))
error: the argument '--base <BRANCH>' cannot be used with '[PROMPT]'

Usage: codex exec review --commit <SHA> --base <BRANCH> --title <TITLE> --model <MODEL> --config <key=value> --dangerously-bypass-approvals-and-sandbox --output-last-message <FILE> [PROMPT]

For more information, try '--help'.

ℹ️ About this response

Generated by Codex CLI.
Review methodology: claude_md/code_review.md

Limitations:

  • Codex may miss context from files not in the diff
  • Large PRs may be truncated
  • Always apply human judgment to AI suggestions

Commands:

  • /codex-review [context] — Request a code review
  • /codex-query <question> — Ask about the PR or codebase
@github-actions

Copy link
Copy Markdown

✅ Claude Code Review

Auto-triggered after CI passed — reviewing commit 641e166


Summary

This is a correct, minimal CI fix. The change switches the build-windows-vs2022 job in pr-jobs.yml from runs-on: windows-8-core to runs-on: windows-2022, because the windows-8-core runner image no longer provides Visual Studio 2022. This aligns pr-jobs.yml with nightly.yml, where the equivalent build-windows-vs2022-avx2 job already uses windows-2022 (nightly.yml:118).

No high-severity findings.

Full review (click to expand)

Findings

🔴 HIGH

None.

🟡 MEDIUM

None.

🟢 LOW / NIT

L1. Performance regression from smaller runner — .github/workflows/pr-jobs.yml:531
  • Issue: windows-2022 is a 2-core GitHub-hosted runner vs. the 8-core windows-8-core pool. Windows CI builds will be slower. The PR description acknowledges this and notes ccache mitigates compile cost, but test execution (3 shards of ctest -j8) may see reduced parallelism.
  • Suggested fix: Consider whether ctest -j8 should be reduced to -j2 on the 2-core runner to avoid oversubscription, or whether a larger runner with VS 2022 can be configured in the future.
L2. Consistency — only occurrence of windows-8-core
  • Issue: After this change, windows-8-core is no longer referenced anywhere in the workflow files. This is correct and expected — just noting that the migration is complete.

Cross-Component Analysis

Not applicable — this is a CI-only configuration change with no impact on RocksDB source code, APIs, data formats, or runtime behavior.

Positive Observations

  • The change is minimal and surgical — exactly one line changed.
  • Aligns pr-jobs.yml with the existing nightly.yml pattern (windows-2022 runner + Visual Studio 17 2022 generator), reducing configuration drift.
  • The CMAKE_GENERATOR: Visual Studio 17 2022 setting at line 546 is consistent with the windows-2022 image which ships VS 2022 pre-installed.

ℹ️ About this response

Generated by Claude Code.
Review methodology: claude_md/code_review.md

Limitations:

  • Claude may miss context from files not in the diff
  • Large PRs may be truncated
  • Always apply human judgment to AI suggestions

Commands:

  • /claude-review [context] — Request a code review
  • /claude-query <question> — Ask about the PR or codebase
@meta-codesync meta-codesync Bot closed this in 2d13302 Jun 21, 2026
@meta-codesync meta-codesync Bot added the Merged label Jun 21, 2026
@meta-codesync

meta-codesync Bot commented Jun 21, 2026

Copy link
Copy Markdown

This pull request has been merged in 2d13302.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment