Files
thesis/.github/workflows/latexdiff.yml
Rifqi D. Panuluh 1ad235866e Update latexdiff.yml
2025-06-03 14:44:52 +07:00

68 lines
1.8 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
flatex main.tex > ../../diff_output/base_flat.tex
- name: Flatten compare/main.tex
run: |
cd compare/latex
flatex main.tex > ../../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: 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/