Skip to content

Merge pull request #31 from Witiko/fix/unintended-expansion #290

Merge pull request #31 from Witiko/fix/unintended-expansion

Merge pull request #31 from Witiko/fix/unintended-expansion #290

Workflow file for this run

name: test
on:
push:
branches:
- main
pull_request:
workflow_dispatch:
schedule:
- cron: '30 4 * * MON'
env:
DEBIAN_FRONTEND: noninteractive
jobs:
markdownlint:
name: Run MarkdownLint
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Run MarkdownLint
uses: nosborn/github-action-markdown-cli@v2.0.0
explcheck:
name: Run explcheck
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install TeX Live
uses: teatimeguest/setup-texlive-action@v3
with:
packages: |
expltools
scheme-minimal
xetex
- name: Install lt3luabridge
run: xetex lt3luabridge.ins
- name: Run explcheck
run: explcheck --warnings-are-errors -- lt3luabridge.tex
test-linux:
name: Compile example document with Linux
strategy:
fail-fast: true
matrix:
command:
- context --luatex --nonstopmode
- pdflatex --shell-escape --interaction=nonstopmode
- xelatex --shell-escape --8bit --interaction=nonstopmode
- lualatex --interaction=nonstopmode
- pdftex --shell-escape --interaction=nonstopmode
- xetex --shell-escape --8bit --interaction=nonstopmode
- luatex --interaction=nonstopmode
extra_options:
- ''
- -output-directory .
exclude:
- command: context --luatex --nonstopmode
extra_options: -output-directory .
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install dependencies
run: |
set -e
sudo apt-get -qy update
sudo apt-get -qy install --no-install-recommends libfontconfig1 poppler-utils ruby
- name: Install TeX Live
uses: teatimeguest/setup-texlive-action@v3
with:
packages: |
collection-luatex
context
infwarerr
latex
latex-bin
ltxcmds
luatex
pdftex
pdftexcmds
scheme-minimal
standalone
xetex
- name: Install lt3luabridge
run: xetex lt3luabridge.ins
- name: Compile example document
run: ${{ matrix.command }} ${{ matrix.extra_options }} example.tex
- name: Extract text of the example document
run: pdftotext example.pdf
- name: Check the text of the example document
run: |
set -e
cat example.txt
grep -q '1+2=3' example.txt
test-windows:
name: Compile example document with Windows
strategy:
fail-fast: true
matrix:
command:
- context --luatex --nonstopmode
- pdflatex --shell-escape --interaction=nonstopmode
- xelatex --shell-escape --8bit --interaction=nonstopmode
- lualatex --interaction=nonstopmode
- pdftex --shell-escape --interaction=nonstopmode
- xetex --shell-escape --8bit --interaction=nonstopmode
- luatex --interaction=nonstopmode
extra_options:
- ''
- -output-directory .
exclude:
- command: context --luatex --nonstopmode
extra_options: -output-directory .
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install TeX Live
uses: teatimeguest/setup-texlive-action@v3
with:
packages: |
collection-luatex
context
infwarerr
latex
latex-bin
ltxcmds
luatex
pdftex
pdftexcmds
scheme-minimal
standalone
xetex
- name: Install lt3luabridge
run: xetex lt3luabridge.ins
- name: Compile example document
run: ${{ matrix.command }} ${{ matrix.extra_options }} example.tex
prerelease:
name: Create artifacts and optionally prerelease the package
needs:
- markdownlint
- explcheck
- test-linux
- test-windows
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install dependencies
run: |
set -e
sudo apt-get -qy update
sudo apt-get -qy install --no-install-recommends libfontconfig1 zip
- name: Install TeX Live
uses: teatimeguest/setup-texlive-action@v3
with:
packages: |
alphalph
biber
biblatex
booktabs
csquotes
enumitem
fancyvrb
hologo
hypdoc
latex
latex-bin
latexmk
scheme-basic
underscore
- name: Typeset documentation
run: latexmk lt3luabridge.dtx
- name: Produce lt3luabridge.zip
run: |
set -e
ln -s . lt3luabridge
zip -@ lt3luabridge < RELEASE_FILES
- name: Upload artifact lt3luabridge.zip
uses: actions/upload-artifact@v4
with:
name: lt3luabridge.zip
path: lt3luabridge.zip
- name: Create a prerelease
if: github.ref == 'refs/heads/main'
uses: marvinpinto/action-automatic-releases@latest
with:
title: The latest version
automatic_release_tag: latest
prerelease: true
repo_token: ${{ secrets.GITHUB_TOKEN }}
files: |
lt3luabridge.zip