Skip to content

CI l3build tests

CI l3build tests #186

Workflow file for this run

# Based on:
# https://github.com/josephwright/siunitx/blob/main/.github/workflows/main.yaml
# https://github.com/zauguin/install-texlive
# https://github.com/moewew/biblatex-ext/blob/dev/.github/workflows/l3build.yml
# https://github.com/CTeX-org/ctex-kit/blob/master/.github/workflows/test.yml
# See also:
# https://github.com/gusbrs/zref-clever/issues/20
# https://github.com/gusbrs/zref-clever/pull/15
name: CI l3build tests
on:
push:
pull_request:
schedule:
- cron: "0 12 * * 5" # Every Friday at 12:00 UTC
env:
PN_PACKAGE_LIST: |
# The test framework
l3build
# Build formats
latex
latex-bin
luatex
luatexbase
xetex
# Fonts
metafont
mfware
ec
amsfonts
mathpazo
psnfss
tex-gyre
inconsolata
# tagging
latex-lab
pdfmanagement-testphase
tagpdf
l3experimental
# Dependencies
alphalph
amsmath
babel-english
hyphen-english
babel-portuges
hyphen-portuguese
babel-french
hyphen-french
babel-german
hyphen-german
babel-spanish
hyphen-spanish
biblatex
biber
bookmark
booktabs
caption
carlisle
colortbl
csquotes
dvips
enumitem
epstopdf-pkg
etexcmds
fancyvrb
geometry
graphics
hologo
hypdoc
hyperref
hyphen-base
iftex
infwarerr
intcalc
kvdefinekeys
kvoptions
kvsetkeys
listings
ltxcmds
luavlna
makeindex
microtype
mptopdf
oberdiek
pdftexcmds
polyglossia
subfig
tabularray
tools
underscore
upquote
zref
zref-clever
zref-check
zref-vario
jobs:
check:
name: Regression tests
runs-on: ubuntu-latest
steps:
- name: Install TeX Live
uses: zauguin/install-texlive@v3
with:
packages: ${{ env.PN_PACKAGE_LIST }}
- name: Checkout repository
uses: actions/checkout@v4
- name: Run tests
run: l3build check -q
- name: Archive failed test output
if: failure()
uses: actions/upload-artifact@v4
with:
name: test-logs-diff-files
path: |
build/test*/*.diff
build/test*/*.log
retention-days: 5
doc:
name: Documentation
runs-on: ubuntu-latest
steps:
# avoid clash in simultaneous attempts to update TeXLive on the same cache
- run: sleep 2m
- name: Install TeX Live
uses: zauguin/install-texlive@v3
with:
packages: ${{ env.PN_PACKAGE_LIST }}
- name: Checkout repository
uses: actions/checkout@v4
- name: Compile documentation
run: l3build doc -q -H
- name: Archive documentation
if: success()
uses: actions/upload-artifact@v4
with:
name: documentation
path: build/doc/*.pdf
- name: Archive failed doc logs
if: failure()
uses: actions/upload-artifact@v4
with:
name: doc-logs
path: build/doc/*.log
retention-days: 5