yadavay-amzn opened a new pull request, #820: URL: https://github.com/apache/iceberg-cpp/pull/820
## What Closes #73. Adds an include-what-you-use (IWYU) check to CI to surface header hygiene over time. ## How - New `.github/workflows/iwyu.yml` job (clang-20): configures the build with `compile_commands.json`, runs `iwyu_tool` across the project, and uploads the report as an artifact. The job is **advisory / non-blocking** (`|| true`), so it never fails CI while the codebase is brought toward IWYU-cleanliness incrementally. - `iwyu.imp` mapping file for the project's third-party deps (nlohmann-json, spdlog, nanoarrow, CRoaring, cpr, Arrow) and the standard library. - `ICEBERG_ENABLE_IWYU` CMake option (OFF by default) for local runs; the normal build is unaffected. ## Notes Advisory-only by design; it does not rewrite includes across the codebase. Once the surfaced findings are burned down, the job can be made blocking in a follow-up. Normal build stays green (788/788). --- This contribution was authored with assistance from Claude Opus 4.8, in line with the Iceberg guidelines for AI-assisted contributions (https://iceberg.apache.org/contribute/#guidelines-for-ai-assisted-contributions). All changes were reviewed and tested by the author. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
