setup-cpp
setup-cpp copied to clipboard
Integrate GitHub Actions Logging (problem matchers)
https://github.com/actions/toolkit/blob/master/docs/problem-matchers.md
- [x] clang #36
example:
ThinLTO: CMakeFiles/main.dir/Release/src/main/main.cpp.o0: error: Invalid record
LLVM ERROR: Can't load module, abort.
clang-14: error: unable to execute command: Abort trap: 6
clang-14: error: linker command failed due to signal (use -v to see invocation)
- [x] gcc #35
- [x] msvc #35
- [x] clang-tidy #36
- [x] cppcheck https://github.com/cpp-best-practices/project_options/pull/66
- [ ] cmake example:
CMake Warning at /Users/runner/work/project_options/project_options/src/Cache.cmake:33 (message):
ccache is enabled but was not found. Not using it
Call Stack (most recent call first):
/Users/runner/work/project_options/project_options/src/Index.cmake:145 (enable_cache)
CMakeLists.txt:31 (project_options)
- [ ] meson
- [ ] ld example:
ld: warning: dylib (/Users/runner/hostedtoolcache/llvm/14.0.0/x64/lib/libc++.dylib) was built for newer macOS version (11.6) than being linked (11.0)
- [x] python #35
- [ ] ninja:
ninja: build stopped: subcommand failed.
- [ ] task:
task: Failed to run task "test_release": exit status 1
How to contribute:
Here is an example for GCC: https://github.com/aminya/setup-cpp/blob/016b16a6b80fc35bd539850d0123841d8f3fca36/src/gcc/gcc.ts#L120-L131
The matcher file has a regex for matching the errors/warnings of the tool (escape " and \ in regex).
https://github.com/aminya/setup-cpp/blob/master/src/gcc/gcc_matcher.json
Script for copying the matcher to dist https://github.com/aminya/setup-cpp/blob/016b16a6b80fc35bd539850d0123841d8f3fca36/package.json#L19