Skip to content

Build Windows CI with Ninja - #900

Merged
mjcarroll merged 1 commit into
masterfrom
mjcarroll/windows-ninja
Sep 30, 2026
Merged

mjcarroll merged 1 commit into
masterfrom
mjcarroll/windows-ninja

Conversation

@mjcarroll

@mjcarroll mjcarroll commented Sep 9, 2026 •

Copy link
Copy Markdown
Member

Description

Switch Windows CI from the Visual Studio generator to Ninja. CMake ignores CMAKE_<LANG>_COMPILER_LAUNCHER under Visual Studio, so this is a prerequisite for the compiler cache in #899.

  • CMAKE_BUILD_TYPE defaults to Release when unset, matching the previous --config Release. Packaging stays on Visual Studio.
  • Ninja's object paths are longer and overrun MAX_PATH on some rosidl sources, so the build space is b and the workspace is substed onto W:.
  • ninja comes from the buildfarm pixi environment, so the image installs and runs -e buildfarm.

Depends on ros2/ros2#1854.

Is this user-facing behavior change?

No

Did you use Generative AI?

Yes, Claude Code (Claude Opus 5).

Additional Information

An earlier revision passed test_ci_windows together with #899; the current head needs a rerun.

@mjcarroll

mjcarroll commented Sep 10, 2026 •

Copy link
Copy Markdown
Member Author

Unspecified Type (Release): Build Status

@mjcarroll
mjcarroll force-pushed the mjcarroll/windows-ninja branch from 70e12c9 to 224ba3b Compare September 14, 2026 21:08
@clalancette

Copy link
Copy Markdown
Contributor

New CI (looks like it took 5.5 hours): Build Status

Comment thread ros2_batch_job/__main__.py Outdated
Comment thread windows_docker_resources/Dockerfile Outdated
@mjcarroll
mjcarroll force-pushed the mjcarroll/windows-ninja branch from 224ba3b to c1790f5 Compare September 23, 2026 20:24
@mjcarroll

mjcarroll commented Sep 23, 2026 •

Copy link
Copy Markdown
Member Author

One more without the buildspace change: Build Status

CMake ignores CMAKE_<LANG>_COMPILER_LAUNCHER under the Visual Studio
generator, so this is needed before Windows CI can use a compiler cache.

Ninja is single-config, so default CMAKE_BUILD_TYPE to Release when it
is unset, matching the previous --config Release. Packaging jobs keep
the Visual Studio generator.

Ninja's object paths are longer and overrun MAX_PATH on some rosidl
sources, so subst the workspace onto W:.

ninja comes from the buildfarm environment in ros2/ros2#1854.

Signed-off-by: Michael Carroll <mjcarroll.oss@gmail.com>
Assisted-by: Claude Code (Claude Opus 5)
@mjcarroll
mjcarroll force-pushed the mjcarroll/windows-ninja branch from c1790f5 to eff50b4 Compare September 28, 2026 19:38
@mjcarroll

Copy link
Copy Markdown
Member Author

One more Build Status

@mjcarroll

Copy link
Copy Markdown
Member Author

With ros2/rosidl_python#270: Build Status

@mjcarroll
mjcarroll merged commit 5a1f99a into master Sep 30, 2026
1 check passed
@clalancette
clalancette deleted the mjcarroll/windows-ninja branch September 30, 2026 12:58
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