Create latex-lint.yml
This commit is contained in:
48
.github/workflows/latex-lint.yml
vendored
Normal file
48
.github/workflows/latex-lint.yml
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
name: LaTeX Lint
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- dev
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Check out repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install chktex and dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y chktex
|
||||
|
||||
- name: Find all .tex files and run chktex
|
||||
run: |
|
||||
# Exit with non-zero if any .tex file has a lint error
|
||||
files=$(find latex -type f -name "*.tex")
|
||||
if [ -z "$files" ]; then
|
||||
echo "No .tex files found under latex/—skipping lint."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Running chktex on:"
|
||||
echo "$files" | tr ' ' '\n'
|
||||
|
||||
# Run chktex on each file; fail if any issues reported
|
||||
# -q suppresses info messages; -n1 treats warnings/errors as fatal
|
||||
FAIL=0
|
||||
for f in $files; do
|
||||
chktex -q -n1 "$f" || FAIL=1
|
||||
done
|
||||
|
||||
if [ $FAIL -ne 0 ]; then
|
||||
echo "::error::Lint errors detected in one or more .tex files."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: Success message
|
||||
if: ${{ always() && success() }}
|
||||
run: echo "✅ All .tex files passed chktex lint."
|
||||
Reference in New Issue
Block a user