Files
thesis/.github/workflows/latexdiff.yml
Rifqi D. Panuluh 033d949325 Update latexdiff.yml
2025-06-03 17:29:50 +07:00

86 lines
2.5 KiB
YAML

name: LaTeX Diff
on:
workflow_dispatch:
inputs:
base_branch:
description: 'Base branch (older version)'
required: true
compare_branch:
description: 'Compare branch (new version)'
required: true
jobs:
latexdiff:
runs-on: ubuntu-latest
container:
image: ghcr.io/xu-cheng/texlive-full:latest
options: --user root
steps:
- name: Checkout base branch
uses: actions/checkout@v4
with:
ref: ${{ github.event.inputs.base_branch }}
path: base
- name: Checkout compare branch
uses: actions/checkout@v4
with:
ref: ${{ github.event.inputs.compare_branch }}
path: compare
- name: Install flatex (in a virtualenv)
run: |
python3 -m venv /tmp/latex-venv
. /tmp/latex-venv/bin/activate
pip install flatex
ln -s /tmp/latex-venv/bin/flatex /usr/local/bin/flatex
- name: Create output folder
run: mkdir -p diff_output
- name: Flatten base/main.tex
run: |
cd base/latex
echo "📂 Listing files in base/latex:"
ls -R
echo "🔄 Flattening base/latex/main.tex..."
flatex main.tex ../../diff_output/base_flat.tex
echo "✅ base_flat.tex preview:"
head -n 50 ../../diff_output/base_flat.tex
- name: Flatten compare/main.tex
run: |
cd compare/latex
echo "📂 Listing files in compare/latex:"
ls -R
echo "🔄 Flattening compare/latex/main.tex..."
flatex main.tex ../../diff_output/compare_flat.tex
echo "✅ compare_flat.tex preview:"
head -n 50 ../../diff_output/compare_flat.tex
- name: Generate diff.tex using latexdiff
run: |
latexdiff diff_output/base_flat.tex diff_output/compare_flat.tex > diff_output/diff.tex
- name: Upload flattened .tex and diff.tex early
uses: actions/upload-artifact@v4
with:
name: latex-diff-tex
path: |
diff_output/base_flat.tex
diff_output/compare_flat.tex
diff_output/diff.tex
- name: Compile diff.tex to PDF
working-directory: diff_output
run: |
xelatex -interaction=nonstopmode diff.tex
xelatex -interaction=nonstopmode diff.tex
- name: Upload diff output files
uses: actions/upload-artifact@v4
with:
name: latex-diff-output
path: diff_output/