Skip to content

ci: include contract tests and Redis source in the lint compile database - #633

Draft
kinyoklion wants to merge 1 commit into
mainfrom
devin/1792711879-lint-contract-tests
Draft

kinyoklion wants to merge 1 commit into
mainfrom
devin/1792711879-lint-contract-tests

Conversation

@kinyoklion

@kinyoklion kinyoklion commented Oct 22, 2026 •

Copy link
Copy Markdown
Member

Summary

The cpp-linter job configured CMake with default options, so LD_BUILD_CONTRACT_TESTS and LD_BUILD_REDIS_SUPPORT were OFF. As a result, contract-tests/ and libs/server-sdk-redis-source/ were missing from compile_commands.json. clang-tidy still ran on changed files in those directories, but it had to guess their flags and had no include paths, so it emitted bogus clang-diagnostic-error annotations such as 'server.hpp' file not found and 'nlohmann/json.hpp' file not found (see #632).

- cmake -S . -B /home/runner/build -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
+ cmake -S . -B /home/runner/build -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DLD_BUILD_CONTRACT_TESTS=ON -DLD_BUILD_REDIS_SUPPORT=ON

DynamoDB and OTel stay off because they fetch large dependencies (aws-sdk-cpp) at configure time.

Verification (local, using #632's head, Boost 1.81, clang-tidy-15):

  • Old configure: 0 contract-test entries in compile_commands.json. clang-tidy reproduces the "file not found" errors on main.cpp, client_entity.hpp and data_model.hpp.
  • New configure (about 9s): 19 contract-test entries and 7 Redis entries. The same files, plus redis_source.cpp, produce no include errors.

This PR only changes the workflow. files-changed-only means the lint job on this PR won't exercise any C++ files, so the improvement will first show up on the next PR that touches contract-tests/ or the Redis source.

Link to Devin session: https://app.devin.ai/sessions/4021a66d4d124922bd394b8a65ca637d
Open in Devin Desktop: https://app.devin.ai/desktop/session/4021a66d4d124922bd394b8a65ca637d?variant=devin
Requested by: @kinyoklion

SDK-3355

Co-Authored-By: Ryan Lamb <4955475+kinyoklion@users.noreply.github.com>
@devin-ai-integration

Copy link
Copy Markdown
Contributor

I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".

  • Disable automatic comment, CI, and merge conflict monitoring

This branch has not been deployed

No deployments
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.

1 participant