Merge pull request #14 from softprops/problem-matchers

introducing problem matchers
This commit is contained in:
Héctor Ramón 2020-01-06 04:31:11 +01:00 committed by GitHub
commit adc78be0c3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 62 additions and 3 deletions

44
.github/rust.json vendored Normal file
View File

@ -0,0 +1,44 @@
{
"problemMatcher": [
{
"owner": "cargo-common",
"pattern": [
{
"regexp": "^(warning|warn|error)(\\[(\\S*)\\])?: (.*)$",
"severity": 1,
"message": 4,
"code": 3
},
{
"regexp": "^\\s+-->\\s(\\S+):(\\d+):(\\d+)$",
"file": 1,
"line": 2,
"column": 3
}
]
},
{
"owner": "cargo-test",
"pattern": [
{
"regexp": "^.*panicked\\s+at\\s+'(.*)',\\s+(.*):(\\d+):(\\d+)$",
"message": 1,
"file": 2,
"line": 3,
"column": 4
}
]
},
{
"owner": "cargo-fmt",
"pattern": [
{
"regexp": "^(Diff in (\\S+)) at line (\\d):",
"message": 1,
"file": 2,
"line": 3
}
]
}
]
}

View File

@ -45,7 +45,18 @@ For more details, check out [`action.yml`].
[`action.yml`]: https://github.com/hecrj/setup-rust-action/blob/master/action.yml
## Problem Matchers
This action registers the following [problem matchers](https://github.com/actions/toolkit/blob/master/docs/problem-matchers.md) to surface relavant information inline with changeset diffs.
* `cargo-common` matches common cases of errors and warnings
* `cargo-test` matches cargo test errors
* `cargo-fmt` matches rust format errors
To disable any or all of these you can use the `remove-matcher` directive documented [here](https://github.com/actions/toolkit/blob/master/docs/commands.md#problem-matchers)
# Contributing / Feedback
Contributions and feedback are welcome! Feel free to open any issues or pull
requests.
requests.

2
dist/index.js vendored

File diff suppressed because one or more lines are too long

View File

@ -1,7 +1,7 @@
import * as core from '@actions/core';
import * as exec from '@actions/exec';
import * as rustup from './rustup';
import * as os from 'os';
import * as path from 'path';
async function run() {
try {
@ -30,6 +30,10 @@ async function run() {
await exec.exec('rustup', ['default', version]);
}
const matchersPath = path.join(__dirname, '..', '.github');
console.log(`##[add-matcher]${path.join(matchersPath, 'rust.json')}`);
} catch (error) {
core.setFailed(error.message);
}