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 ha​s 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."