]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[workflow] Use MSVC problem matcher for Windows action build (GH-18532)
authorAmmar Askar <ammar@ammaraskar.com>
Mon, 28 Dec 2020 18:28:40 +0000 (13:28 -0500)
committerGitHub <noreply@github.com>
Mon, 28 Dec 2020 18:28:40 +0000 (12:28 -0600)
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 [new file with mode: 0644]
.github/workflows/build.yml

diff --git a/.github/problem-matchers/msvc.json b/.github/problem-matchers/msvc.json
new file mode 100644 (file)
index 0000000..303a36b
--- /dev/null
@@ -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
index 71c307b6c62a35db0521e9b611d17802b98deebb..1b865a17b09dd0e44805485e6ae6d6166de5fce5 100644 (file)
@@ -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