Issue Summary
The Checkie Size project and related PRs are encountering s_all errors due to clang-format modifying files unexpectedly. This issue appears after the removal of explicit version pinning for clang-format, leading to discrepancies between toolchain versions used in CI and those expected by the project.
Context
- s_all errors are observed in Checkie Size and during merges (e.g.,
WT-17744,WT-17835). - Example error output:
Modifying examples/c/ex_file_system.c Modifying examples/c/ex_encrypt.c Modifying test/utility/test_util.h Modifying test/packing/intpack-test3.c Modifying src/checksum/power8/vec_crc32.c
- The project previously pinned clang-format version (see commit), but this was removed.
- Current toolchain version on host: MongoDB clang-format version 22.1.0
- PRs may specify older versions, e.g., Use clang-format 19.1.7, causing mismatch.
- This mismatch can cause s_all to fail or modify files unexpectedly.
- Discussion suggests that any binary change under the hood can now cause s_all to trip.
Proposed Solution
- Reinstate version pinning for clang-format in s_all, ensuring it checks for and transparently downloads the correct version if needed.
- Pin to MongoDB's toolchain version as intended, to match CI and developer environments.
- Update documentation and CI scripts accordingly.
Original Slack thread: https://mongodb.slack.com/archives/CUDFJEN8J/p1781565846013649
This ticket was generated by AI from a Slack thread.
- is caused by
-
WT-17744 Align s_clang_format's clang-format version with MongoDB Toolchain V5
-
- Closed
-
- is related to
-
WT-17835 Avoid scratch buffer churn on every key in the leaf delta write path
-
- Closed
-
-
WT-17744 Align s_clang_format's clang-format version with MongoDB Toolchain V5
-
- Closed
-
- related to
-
WT-17852 Fix PPC clang backend crash compiling PALite
-
- Closed
-