Skip to content

Integrate GitHub Actions Logging (problem matchers) #34

Open
@aminya

Description

@aminya

https://github.com/actions/toolkit/blob/master/docs/problem-matchers.md

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)
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)
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:

setup-cpp/src/gcc/gcc.ts

Lines 120 to 131 in 016b16a

if (isGitHubCI()) {
addGccLoggingMatcher()
}
}
function addGccLoggingMatcher() {
const matcherPath = path.join(__dirname, "gcc_matcher.json")
if (!existsSync(matcherPath)) {
return warning("the gcc_matcher.json file does not exist in the same folder as setup_cpp.js")
}
info(`::add-matcher::${matcherPath}`)
}

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

"copy.matchers": "shx cp ./src/gcc/gcc_matcher.json ./dist/ && shx cp ./src/msvc/msvc_matcher.json ./dist && shx cp ./src/python/python_matcher.json ./dist/",

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions