diff --git a/.github/workflows/latex-lint.yml b/.github/workflows/latex-lint.yml index 7dfcb18..096e5cf 100644 --- a/.github/workflows/latex-lint.yml +++ b/.github/workflows/latex-lint.yml @@ -5,44 +5,39 @@ on: branches: - main - dev + paths: + - 'latex/**/*.tex' + - 'latex/main.tex' jobs: lint: runs-on: ubuntu-latest steps: - - name: Check out repository + - name: Checkout repository uses: actions/checkout@v4 - - name: Install chktex and dependencies + - name: Install chktex run: | sudo apt-get update sudo apt-get install -y chktex - - name: Find all .tex files and run chktex + - name: Run chktex inside latex/ + working-directory: latex 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." + TEX_FILES=$(find . -type f -name "*.tex") + if [ -z "$TEX_FILES" ]; then + echo "No .tex files found in 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 + echo "Linting .tex files with chktex..." FAIL=0 - for f in $files; do + for f in $TEX_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." + echo "::error::Lint errors detected." exit 1 fi - - - name: Success message - if: ${{ always() && success() }} - run: echo "✅ All .tex files passed chktex lint."