From 1031f23fc3aed6760785bf0f8290bd2b2cce41c2 Mon Sep 17 00:00:00 2001 From: Ammar Askar Date: Mon, 28 Dec 2020 13:28:40 -0500 Subject: [PATCH] [workflow] Use MSVC problem matcher for Windows action build (GH-18532) This makes warnings and errors from the compiler very prominent so this should help prevent warnings from sneaking into the code base and catch them in review. See https://discuss.python.org/t/using-github-problem-matchers-to-catch-warnings-early/4254 for more details You can see a demo of this in action here: https://github.com/ammaraskar/cpython/pull/15/files#diff-9ba2eeca0f254ece0a9df4d7cb68e870 GCC and Sphinx matchers have previously been added in GH-18567 and GH-20325, respectively. --- .github/problem-matchers/msvc.json | 19 +++++++++++++++++++ .github/workflows/build.yml | 2 ++ 2 files changed, 21 insertions(+) create mode 100644 .github/problem-matchers/msvc.json diff --git a/.github/problem-matchers/msvc.json b/.github/problem-matchers/msvc.json new file mode 100644 index 00000000000..303a36b1c58 --- /dev/null +++ b/.github/problem-matchers/msvc.json @@ -0,0 +1,19 @@ +{ + "__comment": "Taken from vscode's vs/workbench/contrib/tasks/common/problemMatcher.ts msCompile rule", + "problemMatcher": [ + { + "owner": "msvc-problem-matcher", + "pattern": [ + { + "regexp": "^(?:\\s+\\d+\\>)?([^\\s].*)\\((\\d+),?(\\d+)?(?:,\\d+,\\d+)?\\)\\s*:\\s+(error|warning|info)\\s+(\\w{1,2}\\d+)\\s*:\\s*(.*)$", + "file": 1, + "line": 2, + "column": 3, + "severity": 4, + "code": 5, + "message": 6 + } + ] + } + ] + } \ No newline at end of file diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 71c307b6c62..1b865a17b09 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -99,6 +99,8 @@ jobs: if: needs.check_source.outputs.run_tests == 'true' steps: - uses: actions/checkout@v2 + - name: Register MSVC problem matcher + run: echo "::add-matcher::.github/problem-matchers/msvc.json" - name: Build CPython run: .\PCbuild\build.bat -e -p x64 - name: Display build info