Skip to content

TeX Live

TeX Live #128

Workflow file for this run

name: TeX Live
on:
push:
paths:
- '.github/workflows/texlive.yml'
- 'example-*.tex'
schedule:
- cron: "5 4 * * FRI"
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
setup:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Build matrix based on files
id: set-matrix
run: |
FILES=$(ls example-*.tex | jq -R -s -c 'split("\n")[:-1]')
echo "matrix=$FILES" >> $GITHUB_OUTPUT
texlive:
needs: setup
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
filename: ${{fromJson(needs.setup.outputs.matrix)}}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install TeX Live
uses: zauguin/install-texlive@v3
with:
packages: >
latex-bin microtype cm-super collection-fontsrecommended ieeetran
etoolbox siunitx amsmath tools
currfile kvoptions kvsetkeys ltxcmds filehook
- run: mktexlsr
- run: updmap -user
- run: pdflatex ${{ matrix.filename }}
- uses: actions/upload-artifact@v3
with:
name: PDFs-texlive
path: "*.pdf"
- uses: actions/upload-artifact@v3
if: ${{ !cancelled() }}
with:
name: logs-texlive-${{ matrix.filename }}
path: "*.log"
keepalive:
name: Keepalive
runs-on: ubuntu-latest
permissions:
actions: write
steps:
- uses: actions/checkout@v4
- uses: gautamkrishnar/keepalive-workflow@v2