Skip to content

Use uvx for CMake and Server Toolchain for Ninja#2097

Merged
eramongodb merged 4 commits intomongodb:masterfrom
eramongodb:cdriver-uv-tools
Sep 24, 2025
Merged

Use uvx for CMake and Server Toolchain for Ninja#2097
eramongodb merged 4 commits intomongodb:masterfrom
eramongodb:cdriver-uv-tools

Conversation

@eramongodb
Copy link
Contributor

Followup to #2083. Applies similar EVG configuration updates as done in mongodb/mongo-cxx-driver#1428, but with a drive-by update to bump uv's version to 0.8.13 (latest release).

The old calls to find_python3 and PYTHON3_BINARY are removed in favor of always invoking Python via uv. All calls to find-cmake-latest.sh are now replaced with install-build-tools.sh which obtains a latest CMake binary + a ninja binary for (optional) use by CMake. The Ninja generator is now used by default on non-Windows distros.

Batch scripts call uvx cmake rather than uv tool install cmake -> cmake to avoid dealing with PATH-related complications. These can/should hopefully be converted into Bash scripts and use Ninja+MSVC in the future...

@eramongodb eramongodb self-assigned this Aug 22, 2025
@eramongodb eramongodb requested a review from a team as a code owner August 22, 2025 20:45
Copy link
Collaborator

@kevinAlbs kevinAlbs left a comment

Choose a reason for hiding this comment

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

LGTM with a possible additional call to InstallUV.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I neglected to ask in prior related PRs. Is installing uv expected to be removed once DEVPROD-13413 is complete? Or is this intended as a long-term strategy to pin to the version uv used for testing?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Is installing uv expected to be removed once DEVPROD-13413 is complete?

Yes. I would like to defer the responsibility of maintaining the uv binary to DevProd rather than maintaining it ourselves. If we do want to have more control over the uv binary version, we can/should maintain it via an Evergreen Toolchain project (DEVPROD-19855) instead of CI scripts executed per-build.

Copy link
Contributor

@vector-of-bool vector-of-bool left a comment

Choose a reason for hiding this comment

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

Sorry for the very long delay. This LGTM.

@eramongodb eramongodb merged commit c0595c4 into mongodb:master Sep 24, 2025
44 of 46 checks passed
@eramongodb eramongodb deleted the cdriver-uv-tools branch September 24, 2025 21:08
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.

3 participants