Skip to content

Use lua-unicode-math in tests instead of unicode-math #907

Use lua-unicode-math in tests instead of unicode-math

Use lua-unicode-math in tests instead of unicode-math #907

Workflow file for this run

name: Automated testing
# Currently we run in two situations:
on:
# Whenever someone pushes to a branch in our repo
push:
branches:
- "**"
# Whenever a pull request is opened, reopened or gets new commits.
pull_request:
# This implies that for every push to a local branch in our repo for which a
# pull request is open this runs twice. But it's important to ensure that pull
# requests get tested even if their branch comes from a fork.
workflow_dispatch:
inputs:
dev:
description: 'Use development formats option'
required: true
type: choice
options:
- "--dev"
- "-S"
jobs:
# Update the TeX Live tree if necessary
texlive-cache:
runs-on: ubuntu-latest
name: Update TeX Live
outputs:
cache_key: ${{ steps.texlive.outputs.cache_key }}
steps:
# Boilerplate
- name: Checkout repository
uses: actions/checkout@v4
- name: libglut3
run: sudo apt update; sudo apt-get install -y freeglut3-dev
- name: Install TeX Live
id: texlive
uses: zauguin/install-texlive@v4
with:
# List the required TeX Live packages in a separate file to allow reuse in
# different workflows.
package_file: .github/tl_packages
# The l3build job contains the actual work. We misuse the matrix mechanism to
# create three jobs which only differ in minimal elements.
# For tags we do not run this since we run the release job instead.
l3build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
# include indicates that we want to set explicitly these combinations
# and don't want full matrix testing.
engine:
- luatex
- pdftex
config:
- build
include:
- engine: luatex
config: config-compatible
first: ''
last: 'multicol-01'
- engine: luatex
config: config-compatible
first: 'multicol-02'
last: ''
- engine: pdftex
config: config-compatible
first: ''
last: 'multicol-01'
- engine: pdftex
config: config-compatible
first: 'multicol-02'
last: ''
- engine: luatex
config: config-compatible-mathml
- engine: pdftex
config: config-compatible-mathml
- engine: luatex
config: config-compatible-luatex
- engine: luatex
config: config-partial
first: ''
last: 'keyvaltable-01'
- engine: luatex
config: config-partial
first: 'keyvaltable-02'
last: ''
- engine: pdftex
config: config-partial
first: ''
last: 'keyvaltable-01'
- engine: pdftex
config: config-partial
first: 'keyvaltable-02'
last: ''
- engine: luatex
config: config-partial-mathml
- engine: pdftex
config: config-partial-mathml
- engine: luatex
config: config-partial-luatex
- engine: luatex
config: config-incompatible
first: ''
last: 'framed-01'
- engine: luatex
config: config-incompatible
first: 'framed-02'
last: 'reledpar-01-BAD'
- engine: luatex
config: config-incompatible
first: 'reledpar-02'
last: ''
- engine: pdftex
config: config-incompatible
first: ''
last: 'framed-01'
- engine: pdftex
config: config-incompatible
first: 'framed-02'
last: 'reledpar-01-BAD'
- engine: pdftex
config: config-incompatible
first: 'reledpar-02'
last: ''
- engine: luatex
config: config-incompatible-mathml
- engine: pdftex
config: config-incompatible-mathml
- engine: luatex
config: config-incompatible-luatex
- engine: luatex
config: config-unchecked
- engine: pdftex
config: config-unchecked
- engine: luatex
config: config-unchecked-luatex
# - config-excluded
# - config-triage
name: "Tests: ${{ matrix.engine }} - ${{ matrix.config }}${{ (matrix.first || matrix.last) && format(' ({0} - {1})', matrix.first || '<first>', matrix.last || '<last>') || ''}}"
needs: texlive-cache
steps:
# Boilerplate
- name: Checkout repository
uses: actions/checkout@v4
- name: libglut3 and libpdf-api2-perl
run: sudo apt update; sudo apt-get install -y freeglut3-dev libpdf-api2-perl
- name: Restore TeX Live from cache
uses: actions/cache/restore@v4
with:
path: ~/texlive
key: ${{ needs.texlive-cache.outputs.cache_key }}
fail-on-cache-miss: true
- run: echo $HOME/texlive/bin/x86_64-linux >> $GITHUB_PATH
- name: Run l3build
working-directory: tagging-status
run: "l3build check ${{ github.event.inputs.dev }} -S -e ${{ matrix.engine }} -c ${{ matrix.config }}${{ matrix.first && format(' --first {0}', matrix.first) || ''}}${{ matrix.last && format(' --last {0}', matrix.last) || ''}}"
# run: "l3build check -S -q --show-log-on-error -e ${{ matrix.engine }}"
# Now we create the artifacts for the logs of failed tests
- name: Archive failed test output
if: ${{ always() }}
uses: zauguin/l3build-failure-artifacts@v1
with:
path: tagging-status/build
name: testfiles-${{ matrix.engine }}-${{ matrix.config }}${{ matrix.first && format('-{0}', matrix.first) || ''}}${{ matrix.last && format('-{0}', matrix.last) || ''}}
# Decide how long to keep the test output artifact:
retention-days: 3