mirror of
https://github.com/pyTooling/Actions.git
synced 2026-02-11 18:46:55 +08:00
94 lines
4.6 KiB
YAML
94 lines
4.6 KiB
YAML
# ==================================================================================================================== #
|
|
# Authors: #
|
|
# Patrick Lehmann #
|
|
# #
|
|
# ==================================================================================================================== #
|
|
# Copyright 2020-2026 The pyTooling Authors #
|
|
# #
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
|
# you may not use this file except in compliance with the License. #
|
|
# You may obtain a copy of the License at #
|
|
# #
|
|
# http://www.apache.org/licenses/LICENSE-2.0 #
|
|
# #
|
|
# Unless required by applicable law or agreed to in writing, software #
|
|
# distributed under the License is distributed on an "AS IS" BASIS, #
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
|
|
# See the License for the specific language governing permissions and #
|
|
# limitations under the License. #
|
|
# #
|
|
# SPDX-License-Identifier: Apache-2.0 #
|
|
# ==================================================================================================================== #
|
|
name: LaTeX Documentation
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
ubuntu_image_version:
|
|
description: 'Ubuntu image version.'
|
|
required: false
|
|
default: '24.04'
|
|
type: string
|
|
latex_artifact:
|
|
description: 'Name of the LaTeX documentation artifact.'
|
|
required: true
|
|
type: string
|
|
document:
|
|
description: 'LaTeX root document without *.tex extension.'
|
|
required: true
|
|
type: string
|
|
processor:
|
|
description: 'Name of the used LaTeX processor.'
|
|
required: false
|
|
default: 'xelatex'
|
|
type: string
|
|
pdf_artifact:
|
|
description: 'Name of the PDF documentation artifact.'
|
|
required: false
|
|
default: ''
|
|
type: string
|
|
can-fail:
|
|
description: 'Translation from LaTeX to PDF may fail.'
|
|
required: false
|
|
default: 'false'
|
|
type: string
|
|
|
|
jobs:
|
|
PDFDocumentation:
|
|
name: 📓 Converting LaTeX Documentation to PDF
|
|
runs-on: "ubuntu-${{ inputs.ubuntu_image_version }}"
|
|
continue-on-error: ${{ inputs.can-fail == 'true' }}
|
|
steps:
|
|
- name: 📥 Download artifacts '${{ inputs.latex_artifact }}' from 'SphinxDocumentation' job
|
|
uses: pyTooling/download-artifact@v7
|
|
with:
|
|
name: ${{ inputs.latex_artifact }}
|
|
path: latex
|
|
|
|
# - name: Debug
|
|
# run: |
|
|
# tree -pash .
|
|
|
|
- name: Build LaTeX document using 'pytooling/miktex:sphinx'
|
|
uses: addnab/docker-run-action@v3
|
|
if: inputs.pdf_artifact != ''
|
|
with:
|
|
image: pytooling/miktex:sphinx
|
|
options: -v ${{ github.workspace }}/latex:/latex --workdir /latex
|
|
run: |
|
|
# which ${{ inputs.processor }}
|
|
# pwd
|
|
# ls -lAh
|
|
|
|
latexmk -${{ inputs.processor }} "${{ inputs.document }}.tex"
|
|
|
|
- name: 📤 Upload 'PDF Documentation' artifact
|
|
uses: pyTooling/upload-artifact@v6
|
|
if: inputs.pdf_artifact != ''
|
|
with:
|
|
name: ${{ inputs.pdf_artifact }}
|
|
working-directory: latex
|
|
path: ${{ inputs.document }}.pdf
|
|
if-no-files-found: error
|
|
retention-days: 1
|