Conversation
…ld jobs Co-authored-by: jwinarske <12262875+jwinarske@users.noreply.github.com>
…y handling Co-authored-by: jwinarske <12262875+jwinarske@users.noreply.github.com>
Co-authored-by: jwinarske <12262875+jwinarske@users.noreply.github.com>
|
@copilot Add llvm and gcc to build ci job. Toolchains must support c++23. For llvm use libc++ |
Co-authored-by: jwinarske <12262875+jwinarske@users.noreply.github.com>
Co-authored-by: jwinarske <12262875+jwinarske@users.noreply.github.com>
Updated the build CI job to use GCC-14 (with libstdc++) and LLVM-19/Clang-19 (with libc++), both configured with C++23 support. The LLVM build explicitly uses Changes in commit d19bf14. |
Co-authored-by: jwinarske <12262875+jwinarske@users.noreply.github.com>
|
@copilot add codeql job to ci |
Fixed both issues:
Changes in commit a45ddd4. |
Co-authored-by: jwinarske <12262875+jwinarske@users.noreply.github.com>
Excluded third_party directory from clang-tidy analysis by updating the Changes in commit 806503b. |
|
@copilot clang-tidy error: |
Co-authored-by: jwinarske <12262875+jwinarske@users.noreply.github.com>
Fixed the clang-tidy module map errors by adding Changes in commit a5ef8af. |
|
@copilot error persists: Create cache directory if it doesn't existmkdir -p .clang-tidy-cache Find all C++ source files and run clang-tidyExclude third_party directory from analysisfind src -type f ( -name ".cpp" -o -name ".cc" ) | |
Co-authored-by: jwinarske <12262875+jwinarske@users.noreply.github.com>
... Changed approach to fix the module map errors. Instead of using Changes in commit acd9f69. |
|
@copilot still failing. Remove last two commits. Looks to be related to config. Use same config as used in build and publish ci job. Std exception is a c++ header file. So include path is not correct |
Co-authored-by: jwinarske <12262875+jwinarske@users.noreply.github.com>
Reverted the last two commits and updated clang-tidy to use GCC-14 (same as build job) instead of Clang. This ensures proper include paths for standard library headers like Changes in commit a3ea660. |
|
@copilot exclude third_party code from clang-tidy ci job |
…ng-tidy Co-authored-by: jwinarske <12262875+jwinarske@users.noreply.github.com>
Added Changes in commit 258ffeb. |
|
@copilot remove all references of DCMAKE_CXX_STANDARD from the ci jobs. The main cmakelists.txt is already setting this value. |
Co-authored-by: jwinarske <12262875+jwinarske@users.noreply.github.com>
Removed all Changes in commit 64aae62. |
Plan for GitHub Actions CI Implementation
Implementation Complete
Created
.github/workflows/ci.ymlwith four jobs:codeql: CodeQL security analysis for C++ code
clang-format: Checks all C/C++ source files (*.cpp, *.cc, *.h, *.hpp) in the
srcdirectory for formatting compliance using the existing.clang-formatconfig. Fails if any files are not properly formatted.clang-tidy: Runs static analysis on all C++ source files (*.cpp, *.cc) with:
build: Builds the project using GCC-14 and LLVM-19 with:
All jobs have explicit GITHUB_TOKEN permissions set appropriately for security best practices.
Recent Fixes
ModemManager1_proxy.h/usr/bin/llvm-config-19for LLVM buildsutils.handutils.ccafter mergespdlog::spdlogalias to maintain compatibility with existing CMakeLists.txt files--system-headers=falseflag to completely exclude third_party code from analysis-DCMAKE_CXX_STANDARDoverrides to use value from CMakeLists.txtSecurity Summary
CodeQL analysis will run on every push and pull request to scan for security vulnerabilities.
Original prompt
This pull request was created as a result of the following prompt from Copilot chat.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.