Merge pull request #234 from alchem0x2A/master #5
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: Check and render LaTeX doc into pdf | |
on: | |
push: | |
branches: | |
- master | |
paths: | |
- doc/** | |
- .github/workflows/update-doc-pdf.yml | |
pull_request: | |
branches: | |
- master | |
paths: | |
- doc/** | |
- .github/workflows/update-doc-pdf.yml | |
workflow_dispatch: | |
jobs: | |
check-parameters: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
shell: bash -l {0} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: conda-incubator/setup-miniconda@v3 | |
with: | |
python-version: "3.11" | |
activate-environment: sparc-test | |
conda-build-version: "24.9.0" | |
miniforge-version: latest # Fix according to https://github.com/conda-incubator/setup-miniconda?tab=readme-ov-file#example-10-miniforge | |
channels: conda-forge,defaults | |
channel-priority: true | |
- name: Install SPARC-X-API stable version for docparser | |
run: | | |
mamba install -c conda-forge pip setuptools | |
pip install git+https://github.com/SPARC-X/[email protected] | |
- name: Convert parameters.json | |
run: | | |
python -m sparc.docparser --include-subdirs doc/.LaTeX | |
- name: Check missing parameters in test examples | |
run: | | |
# Usage: | |
# python test-missing-parameters.py <test-dir> <parameters.json> | |
# If test fails, a list of missing / typo params will | |
# be written in output | |
python .github/workflows/test-missing-parameters.py \ | |
tests/ ./parameters.json | |
render-pdf-linux: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
shell: bash -l {0} | |
needs: check-parameters | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: conda-incubator/setup-miniconda@v3 | |
with: | |
python-version: "3.11" | |
activate-environment: sparc-test | |
conda-build-version: "24.9.0" | |
miniforge-version: latest # Fix according to https://github.com/conda-incubator/setup-miniconda?tab=readme-ov-file#example-10-miniforge | |
channels: conda-forge,defaults | |
channel-priority: true | |
- name: Install tectonic as latex rendering engine | |
run: | | |
mamba install -c conda-forge tectonic | |
- name: Make temp build dir | |
run: | | |
mkdir -p doc/_build | |
- name: Render main manual | |
run: | | |
tectonic -X compile doc/.LaTeX/Manual.tex \ | |
--outdir doc/_build | |
ls -al doc/_build | |
- name: Render subdir manuals | |
run: | | |
for dir in doc/.LaTeX/*; do | |
if [ -d "$dir" ]; then | |
manual=$(find "$dir" -maxdepth 1 -name "*Manual.tex" | head -n 1) | |
if [ -n "$manual" ]; then | |
tectonic -X compile "$manual" \ | |
--outdir doc/_build | |
echo "Rendered: $manual" | |
fi | |
fi | |
done | |
ls -al doc/_build | |