Skip to content

ctex-kit test

ctex-kit test #431

Workflow file for this run

name: ctex-kit test
on:
pull_request:
types:
# added "ready_for_review"
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request
[opened, ready_for_review, reopened, synchronize]
push:
schedule:
# at 12:00 UTC (20:00 CST/UTC +8) on Friday
- cron: "0 12 * * 5"
workflow_dispatch:
env:
TL_PACKAGES: |
adobemapping
amsfonts
amsmath
atbegshi
cjk
cjkutils
cm
ctablestack
currfile
dvipdfmx
ec
epstopdf-pkg
everysel
etex
etoolbox
euenc
fancyhdr
fandol
filehook
fontspec
graphics
graphics-cfg
graphics-def
iftex
l3build
l3experimental
l3kernel
l3packages
latex-bin
lm
lm-math
ltxcmds
lualatex-math
lualibs
luaotfload
luatex
luatex85
luatexbase
luatexja
metafont
mfware
## not needed since LaTeX 2021-06-01
# everysel
oberdiek
platex-tools
tex
tex-ini-files
tools
trimspaces
ucharcat
ulem
unicode-data
uplatex
varwidth
xcolor
xetex
xkeyval
xunicode
TL_EXTRA_PACKAGES: |
amscls
atveryend
auxhook
beamer
bibunits
bigfoot
bigintcalc
bitset
booktabs
caption
carlisle
chinese-jfm
cjkpunct
cleveref
context
enumitem
environ
eso-pic
etexcmds
everyhook
fontaxes
footmisc
geometry
gettitlestring
hycolor
hyperref
infwarerr
intcalc
ipaex
kastrup
koma-script
kvdefinekeys
kvoptions
kvsetkeys
letltxmacro
mweights
natbib
newtx
notoccite
ntheorem
pdfescape
pdflscape
pdfpages
pdftexcmds
pgf
pkuthss
psnfss
refcount
rerunfilecheck
sansmathaccent
setspace
soul
svn-prov
tex-gyre
tex-gyre-math
thuthesis
titlesec
tocloft
translator
ttfutils
txfonts
unicode-math
uniquecounter
url
xcjk2uni
xecjk
xits
xstring
zhmetrics
zhmetrics-uptex
zhnumber
NOTO_SANS_URL: https://github.com/notofonts/noto-cjk/releases/download/Sans2.004/03_NotoSansCJK-OTC.zip
NOTO_SERIF_URL: https://github.com/notofonts/noto-cjk/releases/download/Serif2.002/04_NotoSerifCJKOTC.zip
jobs:
test-ctex:
strategy:
matrix:
include:
- runs-on: ubuntu-latest
diffs: "ctex/build/**/*.diff"
font-dir: /usr/share/fonts/truetype
shell: bash
tl-pkgs: ""
- runs-on: macos-14
diffs: "ctex/build/**/*.diff"
font-dir: /Library/Fonts
shell: bash
tl-pkgs: ""
- runs-on: windows-latest
diffs: "ctex/build/**/*.fc"
font-dir: /c/Windows/Fonts
shell: C:\msys64\usr\bin\bash.exe -e {0}
# for `unzip` shipped with texlive
tl-pkgs: wintools.windows
name: on ${{ matrix.runs-on }}
runs-on: ${{ matrix.runs-on }}
defaults:
run:
shell: ${{ matrix.shell }}
steps:
- uses: actions/checkout@v4
- name: Install TeX Live
timeout-minutes: 30 # fail fast
uses: teatimeguest/setup-texlive-action@v3
with:
packages: |
${{ env.TL_PACKAGES }}
${{ env.TL_EXTRA_PACKAGES }}
${{ matrix.tl-pkgs }}
update-all-packages: true
- name: Install Noto fonts
run: |
curl -LO ${{ env.NOTO_SANS_URL }}
curl -LO ${{ env.NOTO_SERIF_URL }}
unzip -ojd ${{ matrix.font-dir }} "*OTC.zip" "*.ttc"
- name: Test ctex
id: test
working-directory: ./ctex
run: |
l3build check -q -H
l3build check -c test/config-cmap -q -H
l3build check -c test/config-contrib -q -H
- name: Get short commit SHA
# if-expression starting with "!" must be escaped,
# since "!" is reserved notation in YAML
if: ${{ !cancelled() && steps.test.outcome == 'failure' }}
run: |
echo "SHA_SHORT=$(git rev-parse --short=8 HEAD)" >> $GITHUB_ENV
- name: Upload test diffs
if: ${{ !cancelled() && steps.test.outcome == 'failure' }}
uses: actions/upload-artifact@v4
with:
name: ctex-kit-diff-${{ env.SHA_SHORT }}
path: |
${{ matrix.diffs }}