From 245878531697d6ee28f0e0ccf9e3411ba888bf63 Mon Sep 17 00:00:00 2001 From: EncodedVenom <32179912+EncodedVenom@users.noreply.github.com> Date: Sat, 19 Oct 2024 19:26:28 -0400 Subject: [PATCH] Hopefully better parsing --- .github/workflows/analysis.yaml | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/.github/workflows/analysis.yaml b/.github/workflows/analysis.yaml index 81561da..d372e57 100644 --- a/.github/workflows/analysis.yaml +++ b/.github/workflows/analysis.yaml @@ -20,10 +20,17 @@ jobs: # Parse the output and generate GitHub Actions warnings echo "$output" | while IFS= read -r line; do - if [[ $line =~ (.+)\(([0-9]+),([0-9]+)\):\ (.*) ]]; then - file="${BASH_REMATCH[1]}" - line_number="${BASH_REMATCH[2]}" - message="${BASH_REMATCH[4]#TypeError: }" - echo "::warning file=$file,line=$line_number,col=0::$message" - fi + # Check if the line contains the error format + if [[ "$line" == *"TypeError:"* ]]; then + + file_line="${line%%:*}" # Get the part before the first colon + message="${line#*: TypeError: }" # Get the message after "TypeError: " + + file="${file_line%(*}" # Get the file name (everything before the '(') + location="${file_line#*()}"; # Get the part inside parentheses (line and column) + line_number="${location%%,*}"; # Extract the line number + column_number="${location#*,}"; # Extract the column number + + echo "::warning file=${file},line=${line_number},col=${column_number}::${message}" + fi done