From a50648975d854d8aad989163fd215a423385a02d Mon Sep 17 00:00:00 2001 From: Richard Lau Date: Fri, 20 Mar 2020 07:49:34 -0400 Subject: [PATCH] build: annotate markdown lint failures in pull requests Add a problem matcher for output from remark-lint to our lint-md GitHub Actions CI workflow so that any markdown linter failures are annotated in the pull request in the web UI. Signed-off-by: Richard Lau Backport-PR-URL: https://github.com/nodejs/node/pull/32608 PR-URL: https://github.com/nodejs/node/pull/32391 Refs: https://github.com/actions/toolkit/blob/master/docs/problem-matchers.md Refs: https://github.com/actions/toolkit/blob/master/docs/commands.md#problem-matchers Reviewed-By: Ruben Bridgewater Reviewed-By: Colin Ihrig Reviewed-By: Anna Henningsen Reviewed-By: Rich Trott Reviewed-By: Jiawen Geng Reviewed-By: Matheus Marchini --- .github/workflows/CI.yml | 4 +++- .../remark-lint-problem-matcher.json | 22 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/remark-lint-problem-matcher.json diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 356a9f990e4290..f5b6281149c0fb 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -64,7 +64,9 @@ jobs: with: node-version: 10.x - name: Lint docs - run: NODE=$(which node) make lint-md + run: | + echo "::add-matcher::.github/workflows/remark-lint-problem-matcher.json" + NODE=$(which node) make lint-md lint-js: runs-on: ubuntu-latest steps: diff --git a/.github/workflows/remark-lint-problem-matcher.json b/.github/workflows/remark-lint-problem-matcher.json new file mode 100644 index 00000000000000..cfb281310a9a0f --- /dev/null +++ b/.github/workflows/remark-lint-problem-matcher.json @@ -0,0 +1,22 @@ +{ + "problemMatcher": [ + { + "owner": "remark-lint", + "pattern": [ + { + "regexp": "^(?:\\x1b\\[\\d+m)*(.+?)(?:\\x1b\\[\\d+m)*$", + "file": 1 + }, + { + "regexp": "^\\s+(?:\\d+:\\d+-)?(\\d+):(\\d+)\\s+\\S*(error|warning|info)\\S*\\s+(.+)\\s+(\\S+)\\s+(?:\\S+)$", + "line": 1, + "column": 2, + "severity": 3, + "message": 4, + "code": 5, + "loop": true + } + ] + } + ] +}