aminya / aminya/setup-cpp

Integrate GitHub Actions Logging (problem matchers)

Open
#34 0 comments 0 reactions 0 assignees View on GitHub

A pull request for this has already been merged.

  • #35 by @aminya — merged
  • #36 by @aminya — merged
enhancement help wanted
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)
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.