CI l3build tests #167
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 | |
# 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 |