Integrate GitHub Actions Logging (problem matchers)
- Dominant language
- TypeScript
- Stars
- 276
- Forks
- 37
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 12
Description
https://github.com/actions/toolkit/blob/master/docs/problem-matchers.md
- 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)
- gcc #35
- msvc #35
- clang-tidy #36
- 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)
- 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
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the referenced src/gcc/gcc.ts and src/gcc/gcc_matcher.json examples, then inspect package.json for the matcher-copy script. Review the unchecked cmake, meson, ld, ninja, and task cases and their sample output. Done means adding problem matchers for the remaining tools and ensuring they are included in the distributed action.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake, github-actions, python, typescript
- Domain
- ci-cd, devops, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100