Files
thesis/.github/workflows/latexdiff.yml
Rifqi D. Panuluh 3a17cc1331 Update latexdiff.yml
using a pre-built TeX Live Docker image to avoid reinstalling texlive-full every run
2025-06-03 13:42:35 +07:00

66 lines
1.7 KiB
YAML

name: LaTeX Diff
on:
workflow_dispatch:
inputs:
base_branch:
description: 'Base branch (older version)'
required: true
default: 'main'
compare_branch:
description: 'Compare branch (new version)'
required: true
default: 'dev'
jobs:
latexdiff:
runs-on: ubuntu-latest
container:
image: ghcr.io/xu-cheng/texlive-full:latest
options: --user root # allow package install if needed
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 (Python flattener)
run: |
apk add --no-cache py3-pip # if Alpine base
pip install flatex
- name: Create output folder
run: mkdir -p diff_output
- name: Flatten base branch
run: |
flatex base/latex/main.tex > diff_output/base_flat.tex
- name: Flatten compare branch
run: |
flatex compare/latex/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/