jecs/.github/workflows/analysis.yaml
2024-10-19 19:26:28 -04:00

36 lines
1.3 KiB
YAML

name: Analysis
on: [push, pull_request, workflow_dispatch]
jobs:
run:
name: Run Luau Analyze
runs-on: ubuntu-latest
steps:
- name: Checkout Project
uses: actions/checkout@v4
- name: Install Luau
uses: encodedvenom/install-luau@v2.1
- name: Analyze
run: |
output=$(luau-analyze src || true) # Suppress errors for now.
# Parse the output and generate GitHub Actions warnings
echo "$output" | while IFS= read -r line; do
# 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