mirror of
https://github.com/praktimarc/kst4contest.git
synced 2026-03-30 04:31:04 +02:00
108 lines
3.5 KiB
YAML
108 lines
3.5 KiB
YAML
name: Build Documentation PDF
|
|
|
|
# Runs when documentation changes are pushed to main, or on manual trigger.
|
|
# Also triggered as a dependency from the tagged-release workflow.
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
paths:
|
|
- github_docs/**
|
|
- .github/latex-manual/**
|
|
- .github/workflows/docs-pdf.yml
|
|
workflow_dispatch:
|
|
|
|
env:
|
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
build-docs-pdf:
|
|
name: Build Documentation PDF
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4.1.7
|
|
|
|
- name: Resolve version string
|
|
run: |
|
|
if [[ "${{ github.ref }}" == refs/tags/* ]]; then
|
|
VERSION="${{ github.ref_name }}"
|
|
else
|
|
VERSION="$(grep -m1 '<version>' pom.xml | sed 's/.*<version>\(.*\)<\/version>.*/\1/')-${GITHUB_SHA::7}"
|
|
fi
|
|
echo "DOC_VERSION=$VERSION" >> "$GITHUB_ENV"
|
|
|
|
- name: Install pandoc and LaTeX toolchain
|
|
run: |
|
|
sudo apt-get update -qq
|
|
sudo apt-get install -y --no-install-recommends \
|
|
pandoc \
|
|
texlive-xetex \
|
|
texlive-fonts-recommended \
|
|
texlive-latex-extra \
|
|
texlive-plain-generic
|
|
|
|
- name: Build English PDF manual
|
|
run: |
|
|
mkdir -p dist
|
|
pandoc \
|
|
--from=markdown-yaml_metadata_block \
|
|
--template=.github/latex-manual/manual-template.tex \
|
|
--pdf-engine=xelatex \
|
|
--lua-filter=.github/latex-manual/strip-wiki-links.lua \
|
|
--resource-path=.:github_docs \
|
|
--listings \
|
|
--toc \
|
|
--toc-depth=6 \
|
|
-V title="User Manual" \
|
|
-V polyglossia-lang=english \
|
|
-V version="${DOC_VERSION}" \
|
|
-o dist/KST4Contest-${DOC_VERSION}-manual-en.pdf \
|
|
github_docs/en-Home.md \
|
|
github_docs/en-Installation.md \
|
|
github_docs/en-Configuration.md \
|
|
github_docs/en-Features.md \
|
|
github_docs/en-User-Interface.md \
|
|
github_docs/en-Macros-and-Variables.md \
|
|
github_docs/en-Log-Sync.md \
|
|
github_docs/en-AirScout-Integration.md \
|
|
github_docs/en-DX-Cluster-Server.md \
|
|
github_docs/en-Changelog.md
|
|
|
|
- name: Build German PDF manual
|
|
run: |
|
|
pandoc \
|
|
--from=markdown-yaml_metadata_block \
|
|
--template=.github/latex-manual/manual-template.tex \
|
|
--pdf-engine=xelatex \
|
|
--lua-filter=.github/latex-manual/strip-wiki-links.lua \
|
|
--resource-path=.:github_docs \
|
|
--listings \
|
|
--toc \
|
|
--toc-depth=6 \
|
|
-V title="Benutzerhandbuch" \
|
|
-V polyglossia-lang=german \
|
|
-V version="${DOC_VERSION}" \
|
|
-o dist/KST4Contest-${DOC_VERSION}-manual-de.pdf \
|
|
github_docs/de-Home.md \
|
|
github_docs/de-Installation.md \
|
|
github_docs/de-Konfiguration.md \
|
|
github_docs/de-Funktionen.md \
|
|
github_docs/de-Benutzeroberflaeche.md \
|
|
github_docs/de-Makros-und-Variablen.md \
|
|
github_docs/de-Log-Synchronisation.md \
|
|
github_docs/de-AirScout-Integration.md \
|
|
github_docs/de-DX-Cluster-Server.md \
|
|
github_docs/de-Changelog.md
|
|
|
|
- name: Upload PDF artifacts
|
|
uses: actions/upload-artifact@v4.3.4
|
|
with:
|
|
name: docs-pdf
|
|
path: dist/KST4Contest-*-manual-*.pdf
|
|
retention-days: 30
|