[Python-checkins] [workflow] Use MSVC problem matcher for Windows action build (GH-18532)

zware webhook-mailer at python.org
Mon Dec 28 13:28:47 EST 2020


https://github.com/python/cpython/commit/1031f23fc3aed6760785bf0f8290bd2b2cce41c2
commit: 1031f23fc3aed6760785bf0f8290bd2b2cce41c2
branch: master
author: Ammar Askar <ammar at ammaraskar.com>
committer: zware <zachary.ware at gmail.com>
date: 2020-12-28T12:28:40-06:00
summary:

[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.

files:
A .github/problem-matchers/msvc.json
M .github/workflows/build.yml

diff --git a/.github/problem-matchers/msvc.json b/.github/problem-matchers/msvc.json
new file mode 100644
index 0000000000000..303a36b1c585e
--- /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 71c307b6c62a3..1b865a17b09dd 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 at 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



More information about the Python-checkins mailing list