xelatex try
Build LaTeX PDF / build (push) Successful in 12m15s

This commit is contained in:
Domipoke
2026-07-27 17:03:45 +02:00
parent 209337dd70
commit 91bd628b5a
3 changed files with 81 additions and 13 deletions
+4 -4
View File
@@ -1,9 +1,9 @@
name: Build LaTeX PDF
on:
push:
paths:
- "**/*.tex"
# on:
# push:
# paths:
# - "**/*.tex"
jobs:
build:
+67
View File
@@ -0,0 +1,67 @@
name: Build LaTeX PDF
on:
push:
paths:
- "**/*.tex"
jobs:
build:
runs-on: ubuntu-latest
env:
GIT_SSL_NO_VERIFY: "true"
NODE_EXTRA_CA_CERTS: /usr/local/share/ca-certificates/Egregge.crt
steps:
- name: Checkout
uses: actions/checkout@v4
# 1. Restore the font and TeX cache from previous runs
- name: Cache TeX and Fontconfig
uses: actions/cache@v3
with:
path: .texcache
key: texlive-fonts-${{ runner.os }}
- name: Find all root .tex files
id: roots
run: |
ROOTS=$(grep -rl '\\documentclass' --include='*.tex' . | sed 's|^\./||' | tr '\n' ' ')
echo "roots=$ROOTS" >> "$GITHUB_OUTPUT"
echo "Root files to build: $ROOTS"
- name: Compile all root files
if: steps.roots.outputs.roots != ''
uses: docker://texlive/texlive:latest-full
# 2. Tell the container to use the cached workspace folders
env:
TEXMFVAR: ${{ github.workspace }}/.texcache/texmf-var
XDG_CACHE_HOME: ${{ github.workspace }}/.texcache/xdg
with:
entrypoint: sh
args: >-
-c "mkdir -p pdf aux .texcache/texmf-var .texcache/xdg && for f in ${{ steps.roots.outputs.roots }}; do
echo Building $f;
latexmk -xelatex -interaction=nonstopmode -halt-on-error -outdir=pdf -auxdir=aux \"$f\" || exit 1;
done && find pdf -type f ! -name '*.pdf' -delete"
- name: Upload built PDFs
if: steps.roots.outputs.roots != ''
uses: actions/upload-artifact@v3
with:
name: pdf-output
path: pdf/*.pdf
- name: Commit PDFs back to repo
if: steps.roots.outputs.roots != ''
run: |
git config user.name "gitea-actions"
git config user.email "actions@gitea.local"
git remote set-url origin "https://Domipoke:${{ secrets.GITEA_PUSH_TOKEN }}@gitea.egregge.eg/Domipoke/SharedLaTeX.git"
BRANCH="${GITHUB_REF#refs/heads/}"
echo "Pushing to branch: $BRANCH"
# Ignore the .texcache folder so it doesn't get committed
git add pdf/*.pdf
git diff --cached --quiet || git commit -m "CI: rebuild all PDFs [skip ci]"
git push origin HEAD:refs/heads/"$BRANCH"