diff --git a/.github/problemMatcher/gcc.json b/.github/problemMatcher/gcc.json new file mode 100644 index 000000000000..4d7f7535c11b --- /dev/null +++ b/.github/problemMatcher/gcc.json @@ -0,0 +1,18 @@ +{ + "__comment": "Taken from vscode-cpptools's Extension/package.json gcc rule", + "problemMatcher": [ + { + "owner": "gcc-problem-matcher", + "pattern": [ + { + "regexp": "^(.*):(\\d+):(\\d+):\\s+(?:fatal\\s+)?(warning|error):\\s+(.*)$", + "file": 1, + "line": 2, + "column": 3, + "severity": 4, + "message": 5 + } + ] + } + ] +} diff --git a/.github/problemMatcher/msvc.json b/.github/problemMatcher/msvc.json new file mode 100644 index 000000000000..b8802ef820c0 --- /dev/null +++ b/.github/problemMatcher/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 + } + ] + } + ] +} diff --git a/.github/workflows/sub_buildPixi.yml b/.github/workflows/sub_buildPixi.yml index 0889c2421646..6e5d3d014d82 100644 --- a/.github/workflows/sub_buildPixi.yml +++ b/.github/workflows/sub_buildPixi.yml @@ -83,6 +83,21 @@ jobs: - name: Checkout uses: actions/checkout@v2 + - name: Add GCC Problem Matcher + if: runner.os == 'Linux' + run: | + echo "::add-matcher::${{ runner.workspace }}/FreeCAD/.github/problemMatcher/gcc.json" + + - name: Add Clang Problem Matcher + if: runner.os == 'macOS' + run: | + echo "::add-matcher::${{ runner.workspace }}/FreeCAD/.github/problemMatcher/clang.json" + + - name: Add MSVC++ Problem Matcher + if: runner.os == 'Windows' + run: | + echo "::add-matcher::${{ runner.workspace }}/FreeCAD/.github/problemMatcher/msvc.json" + - name: Make needed directories, files and initializations id: Init run: |