Merge pull request #31 from Witiko/fix/unintended-expansion #290
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
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 |