name: Build PDF on: push: branches: [ main ] paths: - 'paper/**' - '.github/**' pull_request: paths: - 'paper/**' - '.github/**' jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Compile LaTeX document uses: xu-cheng/latex-action@v3 with: root_file: main.tex working_directory: paper/src args: -pdf -interaction=nonstopmode -file-line-error -outdir=../build pre_compile: bash ../concat_code.sh - name: Upload PDF uses: actions/upload-artifact@v4 with: name: thesis-pdf path: paper/build/main.pdf - name: Deploy PDF to GitHub Pages if: github.event_name == 'push' && github.ref == 'refs/heads/main' run: | # Copy PDF to docs directory for GitHub Pages mkdir -p docs/static/pdfs cp paper/build/main.pdf docs/static/pdfs/thesis.pdf # Configure git git config --local user.email "github-actions[bot]@users.noreply.github.com" git config --local user.name "github-actions[bot]" # Commit and push if there are changes git add docs/static/pdfs/thesis.pdf git diff --quiet && git diff --staged --quiet || (git commit -m "Update thesis PDF [skip ci]" && git push)