49 lines
1.2 KiB
YAML
49 lines
1.2 KiB
YAML
name: Lua syntax
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
syntax:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install Lua 5.1
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y lua5.1
|
|
|
|
- name: Parse Lua files
|
|
shell: bash
|
|
run: |
|
|
set -euo pipefail
|
|
while IFS= read -r -d '' file; do
|
|
echo "Checking $file"
|
|
luac5.1 -p "$file"
|
|
done < <(find . -type f -name '*.lua' -print0)
|
|
|
|
- name: Validate Guda.toc paths
|
|
shell: python
|
|
run: |
|
|
from pathlib import Path
|
|
|
|
root = Path('.')
|
|
missing = []
|
|
for raw in Path('Guda.toc').read_text(encoding='utf-8').splitlines():
|
|
line = raw.strip()
|
|
if not line or line.startswith('#'):
|
|
continue
|
|
path = root / line.replace('\\', '/')
|
|
if not path.is_file():
|
|
missing.append(line)
|
|
|
|
if missing:
|
|
raise SystemExit('Missing TOC files:\n' + '\n'.join(missing))
|
|
|
|
print('Guda.toc integrity OK')
|