Problem matchers with multiple severities don't match every result
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 6.3k
- Forks
- 1.4k
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 24
Description
Describe the bug
If a problem matcher matches both errors and warnings and a build log contains mixed results not every result gets matched. Files with only errors or only warnings are matched correctly, but files with mixed results have only the first severity matched until the other severity is hit.
I ran into this while trying to add warning support to my Stylelint problem matcher action.
To Reproduce
Steps to reproduce the behavior:
- Register a problem matcher with two matchers, one with an error severity and one with a warning severity
- Emit both errors and warnings to the build log
- Not all results will be matched
Expected behavior
For every error and warning to be matched, even when both are in the same file's results.
Runner Version and Platform
Version of your runner? 2.290.1
OS of the machine running the runner? all
What's not working?
Not all matched build log lines are being highlighted.
Job Log Output
Sample repo showing the issue https://github.com/xt0rted-test/problem-matcher-test/actions/runs/2248762840
Contributor guide
No contributing guide indexed for this repository
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 linked sample repository and job log, then trace the runner's problem matcher handling for results with error and warning severities. Done means every error and warning in a mixed-severity build log is highlighted, including results from the same file.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, github-actions
- Domain
- ci-cd, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100