mirror of
https://github.com/Ukendio/jecs.git
synced 2025-04-24 17:10:03 +00:00
36 lines
1.3 KiB
YAML
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
|